NFSv3 Asynchronous Write Depends on Block Size?

Posted by Joe Swanson on Server Fault See other posts from Server Fault or by Joe Swanson
Published on 2013-11-05T00:50:51Z Indexed on 2013/11/05 3:59 UTC
Read the original article Hit count: 367

Filed under:
|
|

I am trying to figure out if my NFSv3 deployment is performing SAFE asynchronous writes. I suspect that it is doing strictly synchronous writes, as I am getting poor performance in general. I used Wireshark to look at the 'stable' flag in write calls, and look for 'commit' calls.

I noticed that, with especially large block sizes, writes to appear to be performed asynchronously:

dd if=/dev/zero of=/proj/re3/0/zero bs=2097152 count=512

enter image description here However, smaller block sizes appear to be performed strictly synchronously:

dd if=/dev/zero of=/proj/re3/0/zero bs=8192 count=655360

enter image description here What gives? How does the client decide whether to tell the server to perform writes synchronously or asynchronously? Is there any way I can get smaller block sizes to be performed asynchronously?

© Server Fault or respective owner

Related posts about networking

Related posts about nfs