Nope, wrong conclusion again.

This large performance degradation has nothing whatsoever to 
do with ZFS. I have not seen data that would show a possible 
slowness on the part of ZFS vfs AnyFS on the
backend; there may well be and that would be an entirely
diffenrent discussion to the large slowdown the NFS induces
compares to localFS for single threaded loads.

more inline.

Constantin Gonzalez writes:
 > Hi,
 > 
 > I haven't followed all the details in this discussion, but it seems to me
 > that it all breaks down to:
 > 
 > - NFS on ZFS is slow due to NFS being very conservative when sending
 >   ACK to clients only after writes have definitely committed to disk.

Nope.  NFS  is slow   for single threaded  tar  extract. The
conservative approach of NFS is needed with the NFS protocol
in order to ensure client's side data integrity. Nothing ZFS 
related.

 > 
 > - Therefore, the problem is not that much ZFS specific, it's just a
 >   conscious focus on data correctness vs. speed on ZFS/NFS' part.
 > 

So nope. Purely NFS related. Nothing ZFS related.

 > - Currently known workarounds include:
 > 
 >   - Sacrifice correctness for speed by disabling ZIL or using a less
 >     conservative network file system.

Disabling the ZIL means the backing FS fails to commit
properly. The NFS protocol is cheated leading to client side 
integrity issue.

With UFS, which has similar slowness to ZFS, we can fix the
slowness by  enabling the WCE.

 > 
 >   - Optimize NFS/ZFS to get as much speed as possible within the constraints
 >     of the NFS protocol.

Not possible. Nothing related to ZFS here and if NFS had
ways to make this better i think it would have been done in v4.

If  we extended the protocol   to allow for exclusive mounts
(single  client access) then,  I would think  that the extra
knowledge could  be used  to gain speed...  I  don't know if
this was considered by the NFS forum.

 > 
 > But one aspect I haven't seen so far is: How can we optimize ZFS on a more
 > hardware oriented level to both achieve good NFS speeds and still preserve
 > the NFS level of correctness?
 > 
 > One possibility might be to give the ZFS pool enough spindles so it can
 > comfortably handle many small IOs fast enough for them not to become
 > NFS commit bottlenecks. This may require some tweaking on the ZFS side so
 > it doesn't queue up write IOs for too long as to not delay commits more than
 > necessary.

NFS is plenty fast in a throughput context (not that it does 
not need work). The complaints we have here are about single 
threaded code.

 > 
 > Has anyone investigated this branch or am I too simplistic in my view of the
 > underlying root of the problem?
 > 

I'll let you be the judge of that ;-)

-r


 > Best regards,
 >    Constantin
 > 
 > -- 
 > Constantin Gonzalez                            Sun Microsystems GmbH, Germany
 > Platform Technology Group, Client Solutions                http://www.sun.de/
 > Tel.: +49 89/4 60 08-25 91                   http://blogs.sun.com/constantin/
 > _______________________________________________
 > 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

Reply via email to