Re: [freebsd] Скорость работы NFS при копировании блоками разного размера
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.
Re: [freebsd] Скорость работы NFS при копировании блоками разного размера
On Mon, Mar 26, 2012 at 11:49:33AM +0400, Владимир Друзенко wrote: 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. добавить опцию async в параметры монтирования?
Re: [freebsd] Скорость работы NFS при копировании блоками разного размера
26.03.2012 11:51, Slawa Olhovchenkov пишет: On Mon, Mar 26, 2012 at 11:49:33AM +0400, Владимир Друзенко wrote: 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. добавить опцию async в параметры монтирования? Спасибо Кэп, но уже есть и уже писал об этом в треде...
[freebsd] Re: [freebsd] Скорость работы NFS при копировании блоками разного размера
Могу предложить сделать пару тестов наоборот, т.е. чтение с NFS. Также в том треде про низкую пропускную способность загрузка клиента была высокая, может ли так быть что у вас слишком мощный клиент что визуально не видно разницы в загрузке (load)? Ну и так как уже практически создана площадка с повторяемостью проблемы, то до патча с фиксом почти недалеко вам осталось :) -- Regards, Alexander Yerenkow
Re: [freebsd] Скорость работы NFS при копировании блоками разного размера
26.03.2012 12:51, Alexander Yerenkow пишет: Могу предложить сделать пару тестов наоборот, т.е. чтение с NFS. Создал файл на сервере ~4.5Gb (чтобы весь не влез в кэшь ни сервера, ни клиента). Чтение чуть более 100Mytes/s (это около предела сети GigabitEthernet) любым размером блока от 1k до 16M. Также в том треде про низкую пропускную способность загрузка клиента была высокая, может ли так быть что у вас слишком мощный клиент что визуально не видно разницы в загрузке (load)? Не очень понял о чём речь. Спеки клиента и сервера в первом посте треда: * клиент: i386 Core 2 Duo E7200@3.4GHz 4Gb DDR2 800MHz; * сервер: amd64 Xeon E5030@2.66GHz 2Gb DDR2 FB-DIMM 667MHz; Ну и так как уже практически создана площадка с повторяемостью проблемы, то до патча с фиксом почти недалеко вам осталось :) Угу. Осталось выяснить почему сервер отвечает Committed: UNSTABLE с размером блока до определённой величины, и Committed: FILE_SYNC после. Есть кто, кто разбирался с исходниками NFS сервера FreeBSD? Начал курить сырцы... Плохо, что просто так перегружать сервер не получится - только ночью. -- Regards, Alexander Yerenkow
Re: [freebsd] Скорость работы NFS при копировании блоками разного размера
On Mon, 26 Mar 2012 11:49:33 +0400 Владимир Друзенко wrote: ВД 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. Советую в freebsd-fs@ написать. Есть вероятность что там смогут помочь. По поводу FILESYNC, jhb@ описывал как он наблюдал, но в другой ситуации, при сборке: http://lists.freebsd.org/pipermail/freebsd-fs/2011-August/012265.html Не вчитывался чем закончилось обсуждение, патч есть, но похоже он так и не был закомичен. -- Mikolaj Golub
Re: [freebsd] Скорость работы NFS при копировании блоками разного размера
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 в чем отличие. -- Mikolaj Golub
Re: [freebsd] Скорость работы NFS при копировании блоками разного размера
21.03.2012 14:35, Lystopad Aleksandr пишет: Hello, Владимир Друзенко! On Wed, Mar 21, 2012 at 06:20:05AM +0400 v...@unislabs.com wrote about [freebsd] Скорость работы NFS при копировании блоками разного размера: Приветствую всех. (Заранее прошу прощение за простыню.) Системы: * клиент: i386 Core 2 Duo E7300@3.4GHz 4Gb DDR2 800MHz; * сервер: amd64 Xeon E5030@2.66GHz 2Gb DDR2 FB-DIMM 667MHz; * на обеих машинках RELENG_9 начала февраля 2012; * обе на гигабите: модели мам, сетевух и свитчей запощу, если есть необходимость в этом; * NFS на сервере на ZFS (по хэндбуку), ZFS RAIDZ на 4x2Tb WD RE4; * все тесты проводил в 4-5 msk - загрузка сети и серверов практически нулевая. Собственно в чём причина написания сего сообщения: непонятки со скоростью копирования по NFS. Всё началось с банального копирования файлов по NFS - ну очень медленно. При этом по самбе такое не наблюдается. Поройтесь в архивах freebsd-stable@ за этот и прошлый месяц. Что-то припоминаю -- проскакивало, но я не вникал. Тред нашёл: 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 /так же НЕ накладывал. Может ещё какие мысли?
Re: [freebsd] Скорость работы NFS при копировании блоками разного размера
On 21.03.2012 08:56, Sergey Rudenko wrote: Wed, 21 Mar 2012 06:20:05 +0400 от Владимир Друзенкоv...@unislabs.com: Приветствую всех. (Заранее прошу прощение за простыню.) Системы: * клиент: i386 Core 2 Duo E7300@3.4GHz sentmsg?composeTo=E7300@3.4GHz 4Gb DDR2 800MHz; * сервер: amd64 Xeon E5030@2.66GHz sentmsg?composeTo=E5030@2.66GHz 2Gb DDR2 FB-DIMM 667MHz; * на обеих машинках RELENG_9 начала февраля 2012; * обе на гигабите: модели мам, сетевух и свитчей запощу, если есть необходимость в этом; * NFS на сервере на ZFS (по хэндбуку), ZFS RAIDZ на 4x2Tb WD RE4; * все тесты проводил в 4-5 msk - загрузка сети и серверов практически нулевая. Собственно в чём причина написания сего сообщения: непонятки со скоростью копирования по NFS. Всё началось с банального копирования файлов по NFS - ну очень медленно. При этом по самбе такое не наблюдается. Начал тестить: # grep documents /etc/fstab server.ip:/datastorage/documents /mnt/documents nfs rw,intr,soft,bg 0 0 # dd if=/dev/zero of=/usr/test.zero count=256 bs=1024k 256+0 records in 256+0 records out 268435456 bytes transferred in 2.950790 secs (90970710 bytes/sec) # time cp /usr/test.zero /mnt/documents/ real2m1.657s user0m0.000s sys 0m0.599s # echo $((268435456/(2*60+2))) 2200290 Это всего-то 2.2Mbytes/s! Мало даже для 100Mbit/s сети. Вот самба (тот же каталог на сервере, что и по NFS, samba 3.6.3): # time cp /usr/test.zero /mnt/smb0/ real0m6.197s user0m0.000s sys 0m0.286s # echo $((268435456/6)) 44739242 44.7Mbytes/s - не идеал, но уже неплохо. Решил потестить dd: (строки вида 256+0 records in и 256+0 records out убрал, чтобы не мешали) # dd if=/dev/zero of=/mnt/documents/test.zero count=512k bs=512 268435456 bytes transferred in 5.776159 secs (46473003 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256k bs=1024 268435456 bytes transferred in 5.275812 secs (50880407 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=128k bs=2048 268435456 bytes transferred in 5.009737 secs (53582744 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=64k bs=4096 268435456 bytes transferred in 4.465294 secs (60115963 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=32k bs=8192 268435456 bytes transferred in 4.616121 secs (58151737 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=16k bs=16384 268435456 bytes transferred in 4.792773 secs (56008381 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=8k bs=32k 268435456 bytes transferred in 4.698532 secs (57131773 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=4k bs=64k 268435456 bytes transferred in 4.558262 secs (58889872 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=2k bs=128k 268435456 bytes transferred in 4.987123 secs (53825714 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=1k bs=256k 268435456 bytes transferred in 4.925698 secs (54496937 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=512 bs=512k 268435456 bytes transferred in 4.954061 secs (54184931 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=*1024k* 268435456 bytes transferred in 119.418152 secs (*2247861* bytes/sec) ?? Начал экспериментировать: # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=800k 209715200 bytes transferred in 3.649696 secs (57461007 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=810k 212336640 bytes transferred in 5.292056 secs (40123658 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=820k 214958080 bytes transferred in 4.571811 secs (47018145 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=830k 217579520 bytes transferred in 5.237694 secs (41541090 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=840k 220200960 bytes transferred in 7.006737 secs (31427033 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=850k 222822400 bytes transferred in 5.609241 secs (39724162 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=860k 225443840 bytes transferred in 4.649138 secs (48491536 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=*870k* 228065280 bytes transferred in 102.918602 secs (*2215977* bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=*880k* 230686720 bytes transferred in 103.500444 secs (*2228848* bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=*890k* 233308160 bytes transferred in 109.924715 secs (*2122436*
Re: [freebsd] Скорость работы NFS при копировании блоками разного размера
Hello, Владимир Друзенко! On Wed, Mar 21, 2012 at 06:20:05AM +0400 v...@unislabs.com wrote about [freebsd] Скорость работы NFS при копировании блоками разного размера: Приветствую всех. (Заранее прошу прощение за простыню.) Системы: * клиент: i386 Core 2 Duo E7300@3.4GHz 4Gb DDR2 800MHz; * сервер: amd64 Xeon E5030@2.66GHz 2Gb DDR2 FB-DIMM 667MHz; * на обеих машинках RELENG_9 начала февраля 2012; * обе на гигабите: модели мам, сетевух и свитчей запощу, если есть необходимость в этом; * NFS на сервере на ZFS (по хэндбуку), ZFS RAIDZ на 4x2Tb WD RE4; * все тесты проводил в 4-5 msk - загрузка сети и серверов практически нулевая. Собственно в чём причина написания сего сообщения: непонятки со скоростью копирования по NFS. Всё началось с банального копирования файлов по NFS - ну очень медленно. При этом по самбе такое не наблюдается. Поройтесь в архивах freebsd-stable@ за этот и прошлый месяц. Что-то припоминаю -- проскакивало, но я не вникал. -- Lystopad Aleksandr
[freebsd] Скорость работы NFS при копировании блоками разного размера
Приветствую всех. (Заранее прошу прощение за простыню.) Системы: * клиент: i386 Core 2 Duo E7300@3.4GHz 4Gb DDR2 800MHz; * сервер: amd64 Xeon E5030@2.66GHz 2Gb DDR2 FB-DIMM 667MHz; * на обеих машинках RELENG_9 начала февраля 2012; * обе на гигабите: модели мам, сетевух и свитчей запощу, если есть необходимость в этом; * NFS на сервере на ZFS (по хэндбуку), ZFS RAIDZ на 4x2Tb WD RE4; * все тесты проводил в 4-5 msk - загрузка сети и серверов практически нулевая. Собственно в чём причина написания сего сообщения: непонятки со скоростью копирования по NFS. Всё началось с банального копирования файлов по NFS - ну очень медленно. При этом по самбе такое не наблюдается. Начал тестить: # grep documents /etc/fstab server.ip:/datastorage/documents /mnt/documents nfs rw,intr,soft,bg 0 0 # dd if=/dev/zero of=/usr/test.zero count=256 bs=1024k 256+0 records in 256+0 records out 268435456 bytes transferred in 2.950790 secs (90970710 bytes/sec) # time cp /usr/test.zero /mnt/documents/ real2m1.657s user0m0.000s sys 0m0.599s # echo $((268435456/(2*60+2))) 2200290 Это всего-то 2.2Mbytes/s! Мало даже для 100Mbit/s сети. Вот самба (тот же каталог на сервере, что и по NFS, samba 3.6.3): # time cp /usr/test.zero /mnt/smb0/ real0m6.197s user0m0.000s sys 0m0.286s # echo $((268435456/6)) 44739242 44.7Mbytes/s - не идеал, но уже неплохо. Решил потестить dd: (строки вида 256+0 records in и 256+0 records out убрал, чтобы не мешали) # dd if=/dev/zero of=/mnt/documents/test.zero count=512k bs=512 268435456 bytes transferred in 5.776159 secs (46473003 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256k bs=1024 268435456 bytes transferred in 5.275812 secs (50880407 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=128k bs=2048 268435456 bytes transferred in 5.009737 secs (53582744 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=64k bs=4096 268435456 bytes transferred in 4.465294 secs (60115963 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=32k bs=8192 268435456 bytes transferred in 4.616121 secs (58151737 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=16k bs=16384 268435456 bytes transferred in 4.792773 secs (56008381 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=8k bs=32k 268435456 bytes transferred in 4.698532 secs (57131773 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=4k bs=64k 268435456 bytes transferred in 4.558262 secs (58889872 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=2k bs=128k 268435456 bytes transferred in 4.987123 secs (53825714 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=1k bs=256k 268435456 bytes transferred in 4.925698 secs (54496937 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=512 bs=512k 268435456 bytes transferred in 4.954061 secs (54184931 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=*1024k* 268435456 bytes transferred in 119.418152 secs (*2247861* bytes/sec) ?? Начал экспериментировать: # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=800k 209715200 bytes transferred in 3.649696 secs (57461007 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=810k 212336640 bytes transferred in 5.292056 secs (40123658 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=820k 214958080 bytes transferred in 4.571811 secs (47018145 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=830k 217579520 bytes transferred in 5.237694 secs (41541090 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=840k 220200960 bytes transferred in 7.006737 secs (31427033 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=850k 222822400 bytes transferred in 5.609241 secs (39724162 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=860k 225443840 bytes transferred in 4.649138 secs (48491536 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=*870k* 228065280 bytes transferred in 102.918602 secs (*2215977* bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=*880k* 230686720 bytes transferred in 103.500444 secs (*2228848* bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=*890k* 233308160 bytes transferred in 109.924715 secs (*2122436* bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=*900k* 235929600 bytes transferred in 113.634523 secs (*2076214* bytes/sec) Для сравнения проверил на двух системах с Linux (тотже /datastorage/documents): - машинка на том же свитче, что и клиент: # dd if=/dev/zero of=/mnt/test.zero count=256 bs=1M скопировано 268435456 байт (268 MB), 4,12729 c, 65,0 MB/c - машинка на том же свитче, что и сервер: # dd if=/dev/zero of=/mnt/test.zero count=256 bs=1M 268435456 bytes (268 MB) copied, 4,59726 s, 58,4 MB/s
[freebsd] Re: [freebsd] Скорость работы NFS при копировании блоками разного размера
Потери\ошибки на интерфейсах есть? Wed, 21 Mar 2012 06:20:05 +0400 от Владимир Друзенкоv...@unislabs.com: Приветствую всех. (Заранее прошу прощение за простыню.) Системы: * клиент: i386 Core 2 Duo E7300@3.4GHz 4Gb DDR2 800MHz; * сервер: amd64 Xeon E5030@2.66GHz 2Gb DDR2 FB-DIMM 667MHz; * на обеих машинках RELENG_9 начала февраля 2012; * обе на гигабите: модели мам, сетевух и свитчей запощу, если есть необходимость в этом; * NFS на сервере на ZFS (по хэндбуку), ZFS RAIDZ на 4x2Tb WD RE4; * все тесты проводил в 4-5 msk - загрузка сети и серверов практически нулевая. Собственно в чём причина написания сего сообщения: непонятки со скоростью копирования по NFS. Всё началось с банального копирования файлов по NFS - ну очень медленно. При этом по самбе такое не наблюдается. Начал тестить: # grep documents /etc/fstab server.ip:/datastorage/documents /mnt/documents nfs rw,intr,soft,bg 0 0 # dd if=/dev/zero of=/usr/test.zero count=256 bs=1024k 256+0 records in 256+0 records out 268435456 bytes transferred in 2.950790 secs (90970710 bytes/sec) # time cp /usr/test.zero /mnt/documents/ real 2m1.657s user 0m0.000s sys 0m0.599s # echo $((268435456/(2*60+2))) 2200290 Это всего-то 2.2Mbytes/s! Мало даже для 100Mbit/s сети. Вот самба (тот же каталог на сервере, что и по NFS, samba 3.6.3): # time cp /usr/test.zero /mnt/smb0/ real 0m6.197s user 0m0.000s sys 0m0.286s # echo $((268435456/6)) 44739242 44.7Mbytes/s - не идеал, но уже неплохо. Решил потестить dd: (строки вида 256+0 records in и 256+0 records out убрал, чтобы не мешали) # dd if=/dev/zero of=/mnt/documents/test.zero count=512k bs=512 268435456 bytes transferred in 5.776159 secs (46473003 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256k bs=1024 268435456 bytes transferred in 5.275812 secs (50880407 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=128k bs=2048 268435456 bytes transferred in 5.009737 secs (53582744 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=64k bs=4096 268435456 bytes transferred in 4.465294 secs (60115963 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=32k bs=8192 268435456 bytes transferred in 4.616121 secs (58151737 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=16k bs=16384 268435456 bytes transferred in 4.792773 secs (56008381 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=8k bs=32k 268435456 bytes transferred in 4.698532 secs (57131773 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=4k bs=64k 268435456 bytes transferred in 4.558262 secs (58889872 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=2k bs=128k 268435456 bytes transferred in 4.987123 secs (53825714 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=1k bs=256k 268435456 bytes transferred in 4.925698 secs (54496937 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=512 bs=512k 268435456 bytes transferred in 4.954061 secs (54184931 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=1024k 268435456 bytes transferred in 119.418152 secs (2247861 bytes/sec) ?? Начал экспериментировать: # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=800k 209715200 bytes transferred in 3.649696 secs (57461007 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=810k 212336640 bytes transferred in 5.292056 secs (40123658 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=820k 214958080 bytes transferred in 4.571811 secs (47018145 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=830k 217579520 bytes transferred in 5.237694 secs (41541090 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=840k 220200960 bytes transferred in 7.006737 secs (31427033 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=850k 222822400 bytes transferred in 5.609241 secs (39724162 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=860k 225443840 bytes transferred in 4.649138 secs (48491536 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=870k 228065280 bytes transferred in 102.918602 secs (2215977 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=880k 230686720 bytes transferred in 103.500444 secs (2228848 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=890k 233308160 bytes transferred in 109.924715 secs (2122436 bytes/sec) # dd if=/dev/zero of=/mnt/documents/test.zero count=256 bs=900k 235929600 bytes transferred in 113.634523 secs (2076214 bytes/sec) Для сравнения проверил на двух системах с Linux (тотже /datastorage/documents): - машинка на том же свитче, что и клиент: # dd if=/dev/zero of=/mnt/test.zero