804776b379
DaemonStrategy class calls Daemon.is_healthy() method every 0.1 seconds to ensure that all workers are running as wanted. On object replicator/reconstructor daemons, is_healthy() check if the rings changed to decide if workers must be created/killed. With large rings, this operation can be CPU intensive, especially on low-end CPU. This patch: - increases the check interval to 5 seconds by default, because none of these daemons are critical for performance (they are not in the datapath). But it allows each daemon to change this value if necessary - ensures that before doing a computation of all devices in the ring, object replicator/reconstructor checks that the ring really changed (by checking the mtime of the ring.gz files) On an Atom N2800 processor, this patch reduced the CPU usage of the main object replicator/reconstructor from 70% of a core to 0%. Change-Id: I2867e2be539f325778e2f044a151fd0773a7c390 |
||
---|---|---|
.. | ||
__init__.py | ||
common.py | ||
test_auditor.py | ||
test_diskfile.py | ||
test_expirer.py | ||
test_reconstructor.py | ||
test_replicator.py | ||
test_server.py | ||
test_ssync_receiver.py | ||
test_ssync_sender.py | ||
test_ssync.py | ||
test_updater.py |