erik.ableson writes: > Comments in line. > > On 7 juil. 09, at 19:36, Dai Ngo wrote: > > > Without any tuning, the default TCP window size and send buffer size > > for NFS > > connections is around 48KB which is not very optimal for bulk > > transfer. However > > the 1.4MB/s write seems to indicate something else is seriously wrong. > > My sentiment as well. > > > iSCSI performance was good, so the network connection seems to be OK > > (assuming > > it's 1GbE). > > Yup - I'm running at wire speed on the iSCSI connections. > > > What is your mount options look like? > > Unfortunately, ESX doesn't give any controls over mount options > > > I don't know what datastore browser does for copying file, but have > > you tried > > the vanilla 'cp' command? > > The datastore browser copy command is just a wrapper for cp from what > I can gather. All types of copy operations to the NFS volume, even > from other machines top out at this speed. The NFS/iSCSI connections > are in a separate physical network so I can't easily plug anything > into it for testing other mount options from another machine or OS. > I'll try from another VM to see if I can't force a mount with the > async option to see if that helps any. > > > You can also try NFS performance using tmpfs, instead of ZFS, to > > make sure > > NIC, protocol stack, NFS are not the culprit. > > From what I can observe, it appears that the sync commands issues > over the NFS stack are slowing down the process, even with a > reasonable number of disks in the pool. > > What I was hoping for was the same behavior (albeit slightly risky) of > having writes cached to RAM and then dumped out in an optimal manner > to disk, as per the local behavior where you see the flush to disk > operations happening on a regular cycle. I think that this would be > doable with an async mount, but I can't set this on the server side > where it would be used by the servers automatically. > > Erik >
I would wouldn't do this, sounds like you want to have zil_disable. http://www.solarisinternals.com/wiki/index.php/ZFS_Evil_Tuning_Guide If you do, then be prepared to unmount or reboot all clients of the server in case of a crash in order to clear their corrupted caches. This is in no way a ZIL problem nor a ZFS problem. http://blogs.sun.com/roch/entry/nfs_and_zfs_a_fine And most NFS appliance provider will use a form of write accelerating devices to try to make the NFS experience closer to local filesystem behavior. -r > > erik.ableson wrote: > >> OK - I'm at my wit's end here as I've looked everywhere to find > >> some means of tuning NFS performance with ESX into returning > >> something acceptable using osol 2008.11. I've eliminated > >> everything but the NFS portion of the equation and am looking for > >> some pointers in the right direction. > >> > >> Configuration: PE2950 bi pro Xeon, 32Gb RAM with an MD1000 using a > >> zpool of 7 mirror vdevs. ESX 3.5 and 4.0. Pretty much a vanilla > >> install across the board, no additional software other than the > >> Adaptec StorMan to manage the disks. > >> > >> local performance via dd - 463MB/s write, 1GB/s read (8Gb file) > >> iSCSI performance - 90MB/s write, 120MB/s read (800Mb file from a VM) > >> NFS performance - 1.4MB/s write, 20MB/s read (800Mb file from the > >> Service Console, transfer of a 8Gb file via the datastore browser) > >> > >> I just found the tool latencytop which points the finger at the ZIL > >> (tip of the hat to Lejun Zhu). Ref: > >> <http://www.infrageeks.com/zfs/nfsd.png > >> > & <http://www.infrageeks.com/zfs/fsflush.png>. Log file: > >> > <http://www.infrageeks.com/zfs/latencytop.log > >> > > >> > >> Now I can understand that there is a performance hit associated > >> with this feature of ZFS for ensuring data integrity, but this > >> drastic a difference makes no sense whatsoever. The pool is capable > >> of handling natively (at worst) 120*7 IOPS and I'm not even seeing > >> enough to saturate a USB thumb drive. This still doesn't answer why > >> the read performance is so bad either. According to latencytop, > >> the culprit would be genunix`cv_timedwait_sig rpcmod`svc > >> > >> From my searching it appears that there's no async setting for the > >> osol nfsd, and ESX does not offer any mount controls to force an > >> async connection. Other than putting in an SSD as a ZIL (which > >> still strikes me as overkill for basic NFS services) I'm looking > >> for any information that can bring me up to at least reasonable > >> throughput. > >> > >> Would a dedicated 15K SAS drive help the situation by moving the > >> ZIL traffic off to a dedicated device? Significantly? This is the > >> sort of thing that I don't want to do without some reasonable > >> assurance that it will help since you can't remove a ZIL device > >> from a pool at the moment. > >> > >> Hints and tips appreciated, > >> > >> Erik > >> _______________________________________________ > >> nfs-discuss mailing list > >> nfs-disc...@opensolaris.org > > > > _______________________________________________ > zfs-discuss mailing list > zfs-discuss@opensolaris.org > http://mail.opensolaris.org/mailman/listinfo/zfs-discuss _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss