Howdy, We are running one write intensive and one read intensive Java process on a server, and would like to give preferential I/O treatment to the read intensive process. There was a discussion a while back about adding throttling measures to ZFS, and I was curious if this feature allows you to throttle application I/O? We can implement throttling in the app, but I am hoping there is a way to throttle applications from inside the kernel. Any thoughts or suggestions are welcome. - Ryan -- http://prefetch.net
On Tue, 14 Apr 2009, Matty wrote:> We are running one write intensive and one read intensive Java process > on a server, and would like to give preferential I/O treatment to the > read intensive process. There was a discussion a while back about > adding throttling measures to ZFS, and I was curious if this feature > allows you to throttle application I/O? We can implement throttling in > the app, but I am hoping there is a way to throttle applications from > inside the kernel. Any thoughts or suggestions are welcome.I think that ZFS and most other filesystems are strongly biased toward reads since most operations are reads. ZFS does now include write throttling in order to avoid the problem that pending writes could build up faster than they are actually written, leading to stalled application processing. A limit needs to be put on the amount of data queued to be written so that applications can make headway on the reading side. The heavy use of memory caching avoids most problems except for cases where the application crunches through many large files which in total are much larger than RAM. Bob -- Bob Friesenhahn bfriesen at simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer, http://www.GraphicsMagick.org/
Matty wrote:> Howdy, > > We are running one write intensive and one read intensive Java process > on a server, and would like to give preferential I/O treatment to the > read intensive process. There was a discussion a while back about > adding throttling measures to ZFS, and I was curious if this feature > allows you to throttle application I/O? We can implement throttling in > the app, but I am hoping there is a way to throttle applications from > inside the kernel. Any thoughts or suggestions are welcome. >Your experience will depend on which version of ZFS you are using. The write throttle was introduced last summer, as Roch explains here http://blogs.sun.com/roch/entry/the_new_zfs_write_throttle Note: this is also discussed in the Evil Tuning Guide, under the ARC section, though there are implications elsewhere. -- richard