View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001004 | bareos-core | storage daemon | public | 2018-09-03 09:22 | 2019-12-18 15:24 |
Reporter | hostedpower | Assigned To | arogge | ||
Priority | normal | Severity | major | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | Linux | OS | Debian | OS Version | 9 |
Product Version | 17.2.7 | ||||
Summary | 0001004: Very high cpu usage on Debian stretch | ||||
Description | Each time on consolidation we se a load of up to 18-20 (on a 6 cores machines). There are about 20 backup clients on this machine in total. This is a backup server with sd only, the director is somewhere else. This seems to have started pretty recently, there are 3 possible causes I can think of: - Bug in newer bareos version - Bug because of kernel update (less likely I would think) - Extra backup clients, but it has grown pretty slowly and I don't think we saw such high usage before | ||||
Steps To Reproduce | Use consolidation for about 20 clients on single SD, please see screenshot with perf top. htop shows load of about 18-20 and high cpu usage on a couple of bareos-sd processes. | ||||
Tags | No tags attached. | ||||
|
|
I just had a look: it is in fact CRC32 that is that slow. There are faster implementations available and we will consider integrating one of them. |
|
Wow that would be terrific, we really suffer on that server, even more than before since we've grown a bit in the meanwhile :) | |
We have replaced the crc implementation with a faster one. This will be released in 19.2 | |
bareos: master 838aef14 2019-08-19 18:02 Ported: N/A Details Diff |
core: replace crc32 implementation The previous crc32 implementation was not optimal from a performance point-of-view. This patch introduces Stephan Brumme's Fast CRC32 which is a lot faster than the old algorithm. |
Affected Issues 0001004 |
|
mod - core/src/stored/CMakeLists.txt | Diff File | ||
mod - core/src/stored/block.cc | Diff File | ||
rm - core/src/stored/crc32.cc | Diff File | ||
add - core/src/stored/crc32/Crc32.cpp | Diff File | ||
add - core/src/stored/crc32/Crc32.h | Diff File | ||
add - core/src/stored/crc32/Crc32.ino | Diff File | ||
add - core/src/stored/crc32/Crc32Best.ino | Diff File | ||
add - core/src/stored/crc32/Crc32Test.cpp | Diff File | ||
add - core/src/stored/crc32/LICENSE | Diff File | ||
add - core/src/stored/crc32/Makefile | Diff File | ||
add - core/src/stored/crc32/changelog.md | Diff File | ||
add - core/src/stored/crc32/crc32.js | Diff File | ||
add - core/src/stored/crc32/readme.md | Diff File | ||
mod - core/src/tests/CMakeLists.txt | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2018-09-03 09:22 | hostedpower | New Issue | |
2018-09-03 09:22 | hostedpower | File Added: high-cpu-bareos.png | |
2019-07-31 15:55 | arogge | Status | new => acknowledged |
2019-07-31 15:55 | arogge | Note Added: 0003543 | |
2019-07-31 16:00 | hostedpower | Note Added: 0003545 | |
2019-10-28 13:01 | arogge | Assigned To | => arogge |
2019-10-28 13:01 | arogge | Status | acknowledged => assigned |
2019-10-28 13:03 | arogge | Changeset attached | => bareos master 838aef14 |
2019-10-28 13:04 | arogge | Status | assigned => resolved |
2019-10-28 13:04 | arogge | Resolution | open => fixed |
2019-10-28 13:04 | arogge | Note Added: 0003613 | |
2019-12-18 15:24 | arogge | Status | resolved => closed |