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

_______________________________________________
Magick-users mailing list
[email protected]
http://studio.imagemagick.org/mailman/listinfo/magick-users

Reply via email to