View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0001002||bareos-core||[All Projects] storage daemon||public||2018-08-29 08:31||2018-08-29 08:31|
|Fixed in Version|
|Summary||0001002: despooling/writing to disk is inefficient|
|Description||I have several backup to disk targets, most of them are on RAID devices (mdadm or LVM) where the backup speed is acceptable, mostly above 10MB/s. But writing on single disks ends in poor writing speed below 1MB/s, sometimes below 100kB/s. |
I've tested with several configurations on several servers, and all of them show the same slow write speed.
The best performance so far was to use XFS as file system formatted with the native block size of 4k. The the write speed is about 1.4MB/s.
This all was tested with the default settings and focussing only on the write speed. And this write speed did not change when the spooling was active.
It seems that the despooling is as inefficient as writing without spooling. I'd expect the dispooling to be almost as fast as a file copy which runs with more than 45MB/s on that types of disk (45MB/s on a 5400rpm disk, more on faster disks).
Writing to an SSD increases the write speed to some 25MB/s which then could be limited by the fd.
I've then tested by increasing the maximum block size, and this improved the write speed to an acceptable throughput of some 10MB/s.
Without having seen the code, it seems to me that the writes to the disk suffer from repositioning, frequent buffer flushes or re-reads. All of them seem to have less impact on RAID or SSD since there is a more powerful layer between the physical storage and the logical interface which buffer non-seqential or small-portion access.
I would expect at least the despooling run at near the device's bandwith.
|Steps To Reproduce||see above|
|Tags||No tags attached.|