On Tue, 4 Aug 2009, Chookiex wrote:

You know, ZFS afford a very Big buffer for write IO.
So, When we write a file, the first stage is put it to buffer. But, if the file is VERY short-lived? Is it bring IO to disk?
or else, it just put the meta data and data to memory, and then removed it?

This depends on timing, available memory, and if the writes are synchronous. Synchronous writes are sent to disk immediately. Buffered writes seem to be very well buffered and small created files are not persisted until the next TXG sync interval and if they are immediately deleted it is as if they did not exist at all. This leads to a huge improvement in observed performance.

% while true
do
  rm -f crap.dat
  dd if=/dev/urandom of=crap.dat count=200
  rm -f crap.dat
  sleep 1
done

I just verified this by running the above script and running a tool which monitors zfs read and write requests.

Bob
--
Bob Friesenhahn
bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to