author | oetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa> | |
Tue, 11 Nov 2008 16:36:13 +0000 (16:36 +0000) | ||
committer | oetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa> | |
Tue, 11 Nov 2008 16:36:13 +0000 (16:36 +0000) | ||
commit | 802fc81d6c21d0fc535ce4fa3e654005751f6571 | |
tree | f5f4b61f7cdbb81ee6908fd30eb1edbd15422d0a | tree | snapshot |
parent | 17627a0b3aaa92aff3b01520b05ea04fa1ba9a86 | commit | diff |
This patch allows for multiple RRD writer threads to service the queue.
Now, rrdcached can have more simultaneous I/O requests into the kernel.
This may allow the kernel to re-order disk writes, resulting in better
disk throughput. In practice, throughput is increased by 2-3x.
The flush (-f) timer maintenance has been moved from queue_thread_main
into its own thread.
Be more careful about when to use pthread_cond_signal vs _broadcast, since
multiple threads may be waiting on &queue_cond.
--kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1665 a5681a0c-68f1-0310-ab6d-d61299d08faa
Now, rrdcached can have more simultaneous I/O requests into the kernel.
This may allow the kernel to re-order disk writes, resulting in better
disk throughput. In practice, throughput is increased by 2-3x.
The flush (-f) timer maintenance has been moved from queue_thread_main
into its own thread.
Be more careful about when to use pthread_cond_signal vs _broadcast, since
multiple threads may be waiting on &queue_cond.
--kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1665 a5681a0c-68f1-0310-ab6d-d61299d08faa
doc/rrdcached.pod | diff | blob | history | |
src/rrd_daemon.c | diff | blob | history |