> From: zfs-discuss-boun...@opensolaris.org [mailto:zfs-discuss- > boun...@opensolaris.org] On Behalf Of Jim Klimov > > For smaller systems such as laptops or low-end servers, > which can house 1-2 disks, would it make sense to dedicate > a 2-4Gb slice to the ZIL for the data pool, separate from > rpool? Example layout (single-disk or mirrored): > > The idea would be to decrease fragmentation (committed > writes to data pool would be more coalesced) and to keep > the ZIL at faster tracks of the HDD drive.
I'm not authoritative, I'm speaking from memory of former discussions on this list and various sources of documentation. No, it won't help you. First of all, all your writes to the storage pool are aggregated, so you're already minimizing fragmentation of writes in your main pool. However, over time, as snapshots are created & destroyed, small changes are made to files, and file contents are overwritten incrementally and internally... The only fragmentation you get creeps in as a result of COW. This fragmentation only impacts sequential reads of files which were previously written in random order. This type of fragmentation has no relation to ZIL or writes. If you don't split out your ZIL separate from the storage pool, zfs already chooses disk blocks that it believes to be optimized for minimal access time. In fact, I believe, zfs will dedicate a few sectors at the low end, a few at the high end, and various other locations scattered throughout the pool, so whatever the current head position, it tries to go to the closest "landing zone" that's available for ZIL writes. If anything, splitting out your ZIL to a different partition might actually hurt your performance. Also, the concept of "faster tracks of the HDD" is also incorrect. Yes, there was a time when HDD speeds were limited by rotational speed and magnetic density, so the outer tracks of the disk could serve up more data because more magnetic material passed over the head in each rotation. But nowadays, the hard drive sequential speed is limited by the head speed, which is invariably right around 1Gbps. So the inner and outer sectors of the HDD are equally fast - the outer sectors are actually less magnetically dense because the head can't handle it. And the random IO speed is limited by head seek + rotational latency, where seek is typically several times longer than latency. So basically, the only thing that matters, to optimize the performance of any modern typical HDD, is to minimize the head travel. You want to be seeking sectors which are on tracks that are nearby to the present head position. Of course, if you want to test & benchmark the performance of splitting apart the ZIL to a different partition, I encourage that. I'm only speaking my beliefs based on my understanding of the architectures and limitations involved. This is my best prediction. And I've certainly been wrong before. ;-) Sometimes, being wrong is my favorite thing, because you learn so much from it. ;-) _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss