25.03.2012 15:56, Mikolaj Golub пишет:
On Sun, 25 Mar 2012 07:11:50 +0400 Владимир Друзенко wrote:

  ВД>  Тред нашёл:
  ВД>  
http://lists.freebsd.org/pipermail/freebsd-stable/2011-November/064611.html
  ВД>  Но в нём обсуждается другой вопрос - просто о низкой пропускной
  ВД>  способности NFS.

  ВД>  Указанные там тюнинги увеличили скорость в 1.1-1.4 раза, но скачок при
  ВД>  размере буфера 800-900Kb так и остался:
  ВД>  # dd if=/dev/zero of=/mnt/documents/test.zero bs=*884983* count=256
  ВД>  226555648 bytes transferred in 55.568878 secs (*4077024* bytes/sec)

  ВД>  # dd if=/dev/zero of=/mnt/documents/test.zero bs=*884982* count=256
  ВД>  226555392 bytes transferred in 2.931009 secs (*77296040* bytes/sec)

  ВД>  Тюнинги на клиенте: nfs опции mount -
  ВД>  rw,intr,soft,bg,nfsv3,readahead=4,wsize=65536,rsize=65536,tcp,async.
  ВД>  Тюнинги на сервере: zfs set sync=disabled datastorage/documents/
  ВД>  vfs.nfsrv.async/ в 9.0 нет.
  ВД>  Патч из треда и для /vfs.nfsrv.async /так же НЕ накладывал.


  ВД>  Может ещё какие мысли?

Задампить трафик tcpdump-ом для двух случаев и посмотреть в wireshark в чем
отличие.


Спасибо за наводку.

Отфильтровал оба случая по наличию nfs.write.committed: в случае нормальной скорости "Committed: UNSTABLE (0)", а в случае плохой "Committed: FILE_SYNC (2)". При копировании 8 блоков вышеуказанных размеров получается чуть более 100 таких строк в каждом случае: V3 WRITE Replay (Call xxx) Len:65536 UNSTABLE и V3 WRITE Replay (Call xxx) Len:65536 FILE_SYNC соответственно. Также в случае медленной скорости было 6 пакетов вида: [RPC duplicate of #4302][TCP Retransmission] V3 WRITE Reply (Call In 4274) Len:65536 FILE_SYNC.

Теперь хотя бы понятно кто виноват. Остался вопрос "что делать?".

Дампы могу выслать, если нужно - оба в архиве 130Kb.

Ответить