On Sun, 9 Aug 2009, Kaya Bekirolu wrote:
The last time I did a quick-and-dirty check, I found that OpenSolaris and ZFS could make "better" use of the slog for NFSv3 commits, but they don't. Consider the following sequential write sequence: 1. NFS WRITE 0-32K (32K) 2. NFS WRITE 32K-64K (32K) 3. NFS WRITE 64K-96K (32K) 4. COMMIT 0-96K It is only at step 4 that any data is sent to the slog, which doesn't make very efficient use of the device. You could imagine an alternative approach
Only synchronous writes make into into the slog and until the NFS COMMIT, there has not been any synchronous write.
For best performance with zfs and its default 128K block size, you would want to do the NFS commit after accumulating (at least) 128K of data to write.
Also, SSD devices often need to erase much more data than even 128K (e.g. 512K) in order to prepare for a write so three writes may take much more time than one large write. SSD devices write large blocks at a time so if a portion of the block is updated, then existing block data needs to be copied into SSD RAM, updated, and then written to a fresh (erased) block.
Bob -- Bob Friesenhahn [email protected], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer, http://www.GraphicsMagick.org/ _______________________________________________ storage-discuss mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/storage-discuss
