Tuesday, July 29, 2008

Benchmarking is available!

I've begun benchmarking Cacheboy-1.4. The details are available at http://www.cacheboy.net/benchmarks.html. They aren't spectacular - I'm mainly doing them to keep track on development and make sure I'm not introducing regressions anywhere.

I'm not all that happy with 50% CPU (on one CPU too!) at 500 req/sec. Alas, thats what I have to work with - I can't push these disks nor the polygraph hosts any harder at the present time. Maybe if I spent two weeks fixing polygraph so it used kqueue() instead of poll() ..


  1. Hi, have you filled the hard disk cache in these tests ?, I'm wondering, because I have a similar hardware and with %85 hit ratio, I have about 80% CPU utilization once the hard disk cache are filled and they have to recycle.

  2. This is what the FSes look like:

    /dev/label/AGNUS_DATA_1 34424808 22527384 9143440 71% /local/AGNUS_DATA_1
    /dev/label/AGNUS_DATA_2 34424808 22525928 9144896 71% /local/AGNUS_DATA_2
    /dev/label/AGNUS_DATA_3 34424808 22526056 9144768 71% /local/AGNUS_DATA_3
    /dev/label/AGNUS_DATA_4 34424808 22524688 9146136 71% /local/AGNUS_DATA_4

  3. I have mine cache_dirs adjusted to only use 50% of the hard disks, this is to prevent the fs fragmentation to affect squid performance.
    But when I reach that 50% and squid starts reclycling space, that's when the high IO and High CPU utilization starts.

  4. You shouldn't be seeing much higher CPU when the cache recycling code is running.

    Perhaps you need to attach a profiler and see whats taking all the CPU when that occurs.

    Also, if you have a high IOWAIT time (due to sub-par devices/drivers) then the recycling may take more CPU than it would under sensible hardware.