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 | 81a4855348243f6c4df18e4532ee0baf4bfa1e8b | |
tree | 6aba964468d1c586c2ae1fc4b8c2521d04589bca | tree | snapshot |
parent | 9f86e162bdc8cc8ea8cc40f8c73be9a3ab698fa5 | 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@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@1665 a5681a0c-68f1-0310-ab6d-d61299d08faa
program/doc/rrdcached.pod | diff | blob | history | |
program/src/rrd_daemon.c | diff | blob | history |