Я пытаюсь выяснить, выполняет ли мое развертывание NFSv3 безопасную асинхронную запись. Я подозреваю, что он выполняет строго синхронную запись, поскольку у меня в целом низкая производительность. Я использовал Wireshark для просмотра флага «стабильный» в вызовах записи и поиска вызовов «фиксация».
Я заметил, что при особенно больших размерах блоков запись выполняется асинхронно:
dd if=/dev/zero of=/path/to/share/zero bs=2097152 count=512
Однако блоки меньшего размера выполняются строго синхронно:
dd if=/dev/zero of=/path/to/share/zero bs=8192 count=655360
Что дает? Как клиент решает, следует ли указывать серверу синхронную или асинхронную запись? Есть ли способ добиться асинхронного выполнения блоков меньшего размера?
РЕДАКТИРОВАТЬ: Вот содержимое / etc / fstab на клиенте:
server:/path/to/share /path/to/share nfs rw,intr,sync,proto=tcp,vers=3 0 0