[magick-users] Transfer size considered harmful

Seth Price seth at pricepages.org
Tue Feb 27 11:26:12 CST 2007


As you all are probably aware, performance goes to shit when IM  
starts using disk as cache instead of RAM. I've seen a number of  
posts on the list about this, and working with global satellite  
imagery I've experienced it first hand. I ran 'iostat' on my system  
while I had one instance of montage running (which should have  
finished overnight, but I digress).

The numbers I'm getting:
4.00 KB per transfer
~750 transfers per second (trashing)
~3 MB per second
< 25% CPU utilization

The disk that is being used is a fairly recent SATA II disk. You can  
immediately see from the numbers that something is very wrong with  
the max throughput. I am guessing that the problem is in the transfer  
size. Documentation that I read said that the rule of thumb is to  
keep it below 200 transfers per second, and the block size is  
normally closer to 128 KB.

In conclusion, I would like to know if it is possible to change the  
transfer size 128 KB when compiling IM. I also think this should also  
be set as the default for ImageMagick in the future. Thoughts?


Useful References:

FreeBSD discussion of block sizes; 64 KB or 128 KB recommended:
http://lists.freebsd.org/pipermail/freebsd-performance/2005-October/ 
001558.html
http://lists.freebsd.org/pipermail/freebsd-questions/2003-May/ 
007201.html

Default of 128 KB on Solaris; < 200 transfers per second rule of thumb:
http://www.solarisinternals.com/si/reading/fs2/fs2.html

~Seth



More information about the Magick-users mailing list