On 15/02/18 16:48, J. Bruce Fields wrote:
On Tue, Feb 13, 2018 at 07:01:22AM +0000, Terry Barnaby wrote:
The transaction system allows the write delegation to send the data to the
servers RAM without the overhead of synchronous writes to the disk.
As far as I'm concerned this problem is already solved--did you miss the
discussion of WRITE/COMMIT in other email?
The problem you're running into is with metadata (file creates) more
than data.
Not quite, I think, unless I missed something ? With the transaction
method on top of write delegations the NFS server is always effectively
in "async" mode so actual disk writes are asynchronous with the final
real NFS WRITE's from the write delegation and thus the disk writes can
be optimised by the OS as normal, as and when, without the data being
lost if the server dies. So no requirement for the bottleneck of server
side "sync" mode and special disk systems unless needed for a particular
requirement. As this method protects the data, even the metadata can be
passed through asynchronously apart from the original open, assuming the
particular requirements are such that other clients don't need access to
this metadata live. As far as I can see, with only quick thoughts so may
be missing something major (!), this method could almost fully remove
latency issues with NFS writes with small files while using conventional
disk systems in the server.
As someone suggested that this is not the right place for this sort of
discussion, I will try and start a discussion on the NFS kernel mailing
when I have some time. It would be good to see an improved performance
with NFS writes with small files while still being secure and also find
out why fsync() does not work when the NFS export is in "async" mode!
PS: I have some RPC latency figures for some other NFS servers at work. The
NFS RPC latency on some of them is nearer the ICMP ping times, ie about
100us. Maybe quite a bit of CPU is needed to respond to an NFS RPC call
these days. The 500us RPC time was on a oldish home server using an Intel(R)
Core(TM)2 CPU 6300 @ 1.86GHz.
Tracing to figure ou the source of the latency might still be
interesting.
Will see if I can find some time to do this, away for a bit at the moment.
--b.
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx