Timo Sirainen put forth on 1/5/2010 1:32 AM:
On 5.1.2010, at 7.44, Stan Hoeppner wrote:
As we can see from the 1% I/O wait on CPU0 and 0% on CPU1, it's seems pretty clear that the CPUs are being occupied by the dovecot search code, not by disk I/O.
v1.1+ has somewhat faster search code. At least it's using boyer-moore with some of my own uglyness to make it support incremental searches. Wonder if there's a nicer and faster way to do that than what I implemented.
Hi Timo,
I'm not sure if you saw my original post. I'm using Dovecot 1.0.15 (Debian Lenny package) so I'm quite behind the current Dovecot rev. Also, the (very basic) search performance data I posted previously is from rather old hardware, a dual Celeron 550 MHz machine with PC100 RAM, although the SATA controller and 500GB 7.2Krpm (16MB cache) disk are fairly current technology and relatively speedy. Though, I don't believe the storage subsystem is much in play during this search. The numbers below lead me to believe the mbox file under query is almost entirely in cache.
Here's some more performance data for the search in question, in case it might be useful to you:
Cpu0 : 0.2%us, 0.1%sy, 0.0%ni, 99.7%id, 0.1%wa, 0.0%hi, 0.0%si, 0.0%st Cpu0 : 0.0%us, 1.0%sy, 0.0%ni, 99.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu0 : 0.0%us, 1.0%sy, 0.0%ni, 99.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu0 : 31.4%us, 2.0%sy, 0.0%ni, 66.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu0 : 41.2%us, 2.9%sy, 0.0%ni, 54.9%id, 1.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu0 : 5.9%us, 0.0%sy, 0.0%ni, 94.1%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu0 : 1.0%us, 1.0%sy, 0.0%ni, 98.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu0 : 10.8%us, 2.0%sy, 0.0%ni, 87.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu0 : 53.5%us, 4.0%sy, 0.0%ni, 41.6%id, 1.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu0 : 11.8%us, 2.0%sy, 0.0%ni, 85.3%id, 1.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu0 : 0.0%us, 1.0%sy, 0.0%ni, 99.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu0 : 0.0%us, 1.0%sy, 0.0%ni, 99.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu1 : 0.2%us, 0.1%sy, 0.0%ni, 99.7%id, 0.1%wa, 0.0%hi, 0.0%si, 0.0%st Cpu1 : 13.7%us, 1.0%sy, 0.0%ni, 85.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu1 : 83.3%us, 6.9%sy, 0.0%ni, 8.8%id, 0.0%wa, 0.0%hi, 1.0%si, 0.0%st Cpu1 : 62.4%us, 5.0%sy, 0.0%ni, 32.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu1 : 51.5%us, 4.9%sy, 0.0%ni, 42.7%id, 1.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu1 : 88.1%us, 5.9%sy, 0.0%ni, 5.0%id, 1.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu1 : 92.1%us, 7.9%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu1 : 80.2%us, 5.9%sy, 0.0%ni, 12.9%id, 1.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu1 : 41.2%us, 2.0%sy, 0.0%ni, 56.9%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu1 : 81.6%us, 3.9%sy, 0.0%ni, 13.6%id, 1.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu1 : 92.2%us, 7.8%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu1 : 82.0%us, 4.0%sy, 0.0%ni, 14.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 387044k total, 319144k used, 67900k free, 21284k buffers Mem: 387044k total, 319268k used, 67776k free, 21284k buffers Mem: 387044k total, 319276k used, 67768k free, 21284k buffers Mem: 387044k total, 319276k used, 67768k free, 21284k buffers Mem: 387044k total, 319276k used, 67768k free, 21284k buffers Mem: 387044k total, 319276k used, 67768k free, 21284k buffers Mem: 387044k total, 319276k used, 67768k free, 21284k buffers Mem: 387044k total, 319268k used, 67776k free, 21292k buffers Mem: 387044k total, 319268k used, 67776k free, 21292k buffers Mem: 387044k total, 319268k used, 67776k free, 21292k buffers Mem: 387044k total, 319268k used, 67776k free, 21292k buffers Mem: 387044k total, 319268k used, 67776k free, 21292k buffers
Swap: 995988k total, 440k used, 995548k free, 232492k cached Swap: 995988k total, 440k used, 995548k free, 232500k cached Swap: 995988k total, 440k used, 995548k free, 232512k cached Swap: 995988k total, 440k used, 995548k free, 232556k cached Swap: 995988k total, 440k used, 995548k free, 232576k cached Swap: 995988k total, 440k used, 995548k free, 232596k cached Swap: 995988k total, 440k used, 995548k free, 232608k cached Swap: 995988k total, 440k used, 995548k free, 232620k cached Swap: 995988k total, 440k used, 995548k free, 232660k cached Swap: 995988k total, 440k used, 995548k free, 232676k cached Swap: 995988k total, 440k used, 995548k free, 232688k cached Swap: 995988k total, 440k used, 995548k free, 232696k cached
-- Stan