# RootOnZFS performance



## Slurp (Jul 5, 2012)

I was planning to make my desktop a ZFS-only system.
But now that I got into details of how it's done (reading this guide) I started to think that it might degrade my performance. The reason is that it creates separate boot partitions and it's said that ZFS works best when dealing with whole drives because when it doesn't, it disables drives' caches.
Do I miss something?
If no, is the performance degradation something noteworthy? I haven't heard anybody talking about it.


----------



## phoenix (Jul 5, 2012)

Drive caches are only disabled on non-FreeBSD systems when using partitioned drives.  The way GEOM works on FreeBSD allows the drive caches to remain enabled, even when using partitions with ZFS.


----------



## Slurp (Jul 5, 2012)

Nice, thanks for explanation.


----------



## hopla (Jul 9, 2012)

phoenix said:
			
		

> Drive caches are only disabled on non-FreeBSD systems when using partitioned drives.  The way GEOM works on FreeBSD allows the drive caches to remain enabled, even when using partitions with ZFS.



Huh, I am surprised to hear this. I was under the assumption that the disk write cache would be disabled in this situation. So, being a bit skeptic (I always am, don't take it personally Phoenix  ) I went out to Google and the only thing I could find in reference to this was this page: http://www.leidinger.net/blog/2010/09/23/zfs-and-nfs-on-disk-cache/

In the comments someone refers to a forum post on the OpenSolaris website, where supposedly Pawel (I assume it is Pawel Jakub Dawidek, prime FreeBSD ZFS committer), makes this same statement. I say supposedly, because the page is unavailable now.
http://opensolaris.org/jive/thread.jspa?threadID=27794

But, that comment is refuted by someone named netchild, claiming it is wrong, he states:


> Again, the caches are enabled by ATA/CAM and not by ZFS/GEOM. ZFS is able to send the flush-cache com*beep*mand in all cases, but this only mat*beep*ters if the cache is enabled. For ATA the caching is enabled by default, for SCSI disks it depends on the disks, see my cam*beep*con*beep*trol expla*beep*na*beep*tion above.



Anyway, it could be a combination of both ATA/CAM and GEOM I think. But it's too bad I can't find any confirmation for this. I sure hope that if the drive write-cache would indeed be enabled, that it's done in a way that guarantees data consistency!
(being that that is the reason why the cache is disabled in Solaris)

Where did you find this information Phoenix?


----------



## digrouz (Jul 18, 2012)

So on a freebsd only system with only zfs, what should be the ideal  partitioning to be sure to use drive cache correctly?


----------

