On 09/24/2010 04:56 PM, Wietse Venema wrote: > Alexander 'Leo' Bergolth: >>> Even then, a 1000 recipient list should be spread across two local(8) >>> processes, each delivering transactions of 50 recipients side by side. >>> I don't see that happen, so I suspect the measurement is inconclusive. >> >> Unfortunately it doesn't. :-( > > Actually, multiple local(8) processes are used only when delivery > is slow enough.
Ah - OK. > Now this 10ms delay in my first example (and your example) is > suspicious. I strongly suspect that my laptop disk drive has write > caching enabled. It is physically not possible to create a queue > file, fsync it, and then update a bunch of mailboxes and fsync them > when disk heads need to move. > > With this caching going on, my laptop delivers mail (and syslogs > to the same disk) as fast as memory can be written, so there is no > room left to run multiple processes delivering mail. > > On the other hand with my artificial 1000ms delays, there is plenty > of time for concurrency to pick up the slack. And that is what you > see happening in my second example. > > Does your mail server disk have write caching enabled, and is the > cache persistent when power fails? I suppose it does not fail that > often where you live, compared to this third-world infrastructure > in the USA that I live on. Yes, it has a battery backed write cache. But it's also connected to a UPS even though we almost never have power outages. (This once was a rescue coordination center. :-)) # hpacucli ctrl slot=0 show | grep -i -e "Write Cache" -e Battery Write Cache Size: 24 MB No-Battery Write Cache: Disabled Battery/Capacitor Count: 1 Battery/Capacitor Status: OK Cheers, --leo -- e-mail ::: Leo.Bergolth (at) wu.ac.at fax ::: +43-1-31336-906050 location ::: IT-Services | Vienna University of Economics | Austria
