Страница 1 из 1
ZFS и NFS работает очень медленно
Добавлено: 2010-12-31 8:01:44
sasha181
FreeBSD 8.1 amd64
Собрал raidz из 3-х дисков
Локально и пишет и читает очень быстро, а по NFS да и через rsync пробовал, в разы медленнее
По сети
Код: Выделить всё
# dd if=/dev/zero of=./testfile bs=16k count=4096
4096+0 records in
4096+0 records out
67108864 bytes (67 MB) copied, 2.90615 s, 23.1 MB/s
Код: Выделить всё
# dd if=./testfile of=/dev/null bs=16k
4096+0 records in
4096+0 records out
67108864 bytes (67 MB) copied, 0.803589 s, 83.5 MB/s
Локально
Код: Выделить всё
# dd if=/dev/zero of=./testfile bs=16k count=4096
4096+0 records in
4096+0 records out
67108864 bytes transferred in 0.153563 secs (437011872 bytes/sec)
Код: Выделить всё
# dd if=./testfile of=/dev/null bs=16k
4096+0 records in
4096+0 records out
67108864 bytes transferred in 0.047336 secs (1417717130 bytes/sec)
416 MB/s запись и 1352 MB/s чтение
Значения конечно заоблачные. Предположил, что локально zfs как-то оптимизирует запись и чтение таких файлов, забитых нулями.
Вот чтение предварительно скопированного реального файла и потом его запись под другим именем
Код: Выделить всё
# dd if=./3563.data of=/dev/null bs=16k
39573+1 records in
39573+1 records out
648372224 bytes transferred in 3.184514 secs (203601622 bytes/sec)
# dd if=./3563.data of=/3563.data2 bs=16k
39573+1 records in
39573+1 records out
648372224 bytes transferred in 10.841020 secs (59807308 bytes/sec)
57 MB/s запись и 194 MB/s чтение
Так тут ещё стоит учесть, что чтение и запись велись с одних и тех же физических дисков. Т.е. по сети должно писаться быстрее.
Помогите пожалуйста разобраться.
Что из настроек для начала сюда выложить?
Re: ZFS и NFS работает очень медленно
Добавлено: 2010-12-31 8:09:59
manefesto
скажи мне друг, а какая у тебя сеть, 100 мбит ?
Если да то посмотри спецификацию, больше 25-30 из такой сети не выжмешь
Re: ZFS и NFS работает очень медленно
Добавлено: 2010-12-31 8:25:47
sasha181
Нет, сеть 1000 мбит
карточки правда встроенные интеловские
ди и если чтение по сети идёт 87, то хотя бы запись должна быть близка к скорости локальной записи
Re: ZFS и NFS работает очень медленно
Добавлено: 2010-12-31 9:44:19
manefesto
если локально пишеться нормально, то смотрю в сторону сети.
может особенности nfs
Re: ZFS и NFS работает очень медленно
Добавлено: 2010-12-31 10:42:51
Alex Keda
из nfs3 больше ~25-30 mb/s не выжмешь
проверено практически.
====
попробуйте nfs4
в теории, там можно больше
Re: ZFS и NFS работает очень медленно
Добавлено: 2011-01-03 13:53:16
iZEN
sasha181 писал(а):FreeBSD 8.1 amd64
Собрал raidz из 3-х дисков
Локально и пишет и читает очень быстро, а по NFS да и через rsync пробовал, в разы медленнее
Все настройки NFS под ZFS в студию!
Re: ZFS и NFS работает очень медленно
Добавлено: 2011-01-11 9:29:10
sasha181
Код: Выделить всё
root@server4 [/root]# cat /etc/zfs/exports
/usr/home/rfuser -maproot=root -network 192.168.1 -mask 255.255.255.0
Код: Выделить всё
root@server4 [/root]# cat /etc/sysctl.conf
vfs.nfsrv.async=1
Код: Выделить всё
root@server4 [/root]# cat /boot/loader.conf
zfs_load="YES"
vfs.root.mountfrom="zfs:zroot"
vfs.zfs.zil_disable="1"
Код: Выделить всё
root@server4 [/root]# sysctl -a | grep nfs
vfs.nfs.downdelayinitial: 12
vfs.nfs.downdelayinterval: 30
vfs.nfs.skip_wcc_data_onerr: 1
vfs.nfs.nfs3_jukebox_delay: 10
vfs.nfs.reconnects: 0
vfs.nfs.bufpackets: 4
vfs.nfs.defect: 0
vfs.nfs.iodmax: 20
vfs.nfs.iodmin: 0
vfs.nfs.iodmaxidle: 120
vfs.nfs.diskless_rootpath:
vfs.nfs.diskless_valid: 0
vfs.nfs.nfs_ip_paranoia: 1
vfs.nfs.nfs_directio_allow_mmap: 1
vfs.nfs.nfs_directio_enable: 0
vfs.nfs.clean_pages_on_close: 1
vfs.nfs.nfsv3_commit_on_close: 0
vfs.nfs.prime_access_cache: 0
vfs.nfs.access_cache_timeout: 60
vfs.nfs_common.realign_count: 0
vfs.nfs_common.realign_test: 224662917
vfs.nfsrv.nfs_privport: 0
vfs.nfsrv.fha.bin_shift: 18
vfs.nfsrv.fha.max_nfsds_per_fh: 8
vfs.nfsrv.fha.max_reqs_per_nfsd: 4
vfs.nfsrv.fha.fhe_stats: No file handle entries.
vfs.nfsrv.commit_miss: 0
vfs.nfsrv.commit_blks: 0
vfs.nfsrv.async: 1
vfs.nfsrv.gatherdelay_v3: 0
vfs.nfsrv.gatherdelay: 10000
vfs.nfsrv.minthreads: 5
vfs.nfsrv.maxthreads: 5
vfs.nfsrv.threads: 5
vfs.nfsrv.request_space_used: 0
vfs.nfsrv.request_space_used_highest: 41412
vfs.nfsrv.request_space_high: 13107200
vfs.nfsrv.request_space_low: 8738133
vfs.nfsrv.request_space_throttled: 0
vfs.nfsrv.request_space_throttle_count: 0
На клиенте стоит CentOS 5.5 с ядром OpenVZ
Код: Выделить всё
[root@server3 ~]# cat /etc/fstab | grep nfs
192.168.1.2:/usr/home/rfuser /mnt/server4.rufox.ru/rfuser nfs noatime,async,rsize=32768,wsize=32768,hard,intr 0 0
Опции монтирования пробовал разные. Скорость примерно одинакова.
Код: Выделить всё
[root@server3 ~]# cat /etc/sysctl.conf
# Controls source route verification
net.ipv4.conf.default.rp_filter = 1
# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0
# Controls whether core dumps will append the PID to the core filename
# Useful for debugging multi-threaded applications
kernel.core_uses_pid = 1
# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1
# Controls the maximum size of a message, in bytes
kernel.msgmnb = 65536
# Controls the default maxmimum size of a mesage queue
kernel.msgmax = 65536
# Controls the maximum shared segment size, in bytes
kernel.shmmax = 68719476736
# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 4294967296
# OVZ settings begin
net.ipv4.ip_forward = 1
net.ipv4.conf.default.proxy_arp = 0
net.ipv4.conf.all.rp_filter = 1
kernel.sysrq = 1
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.default.forwarding = 1
# OVZ settings end
Код: Выделить всё
[root@server3 ~]# sysctl -a | grep nfs
sunrpc.nfsd_debug = 0
sunrpc.nfs_debug = 0
fs.nfs.nfs_mountpoint_timeout = 500
fs.nfs.idmap_cache_timeout = 600
fs.nfs.nfs_callback_tcpport = 0
fs.nfs.nlm_tcpport = 0
fs.nfs.nlm_udpport = 0
fs.nfs.nlm_timeout = 10
fs.nfs.nlm_grace_period = 0
Alex Keda писал(а):из nfs3 больше ~25-30 mb/s не выжмешь
проверено практически.
====
попробуйте nfs4
в теории, там можно больше
Сегодня попробую, о результатах отпишусь.
Re: ZFS и NFS работает очень медленно
Добавлено: 2011-01-27 11:55:15
sasha181
Вообщем, появилось время снова заняться этим вопросом. Результат такой:
оказалось zfs очень резко реагирует на размер блока при копировании и записи
с маленькими блоками запись гораздо медленнее
в моих тестах (копировал реальные файлы размером около 600 мегабайт) zfs локально достигает пика производительности (90-100MB/s) с блоком 128к
выставил в опциях монтирования размер блока 31744 . С размером 32768 по какой-то причине копирование зависало. Из-за чего такое могло быть?
скорость записи по сети стала 50 MB/s , чтение 100-110MB/s
мне в принципе этого вполне достаточно
nfsv4 поднять не удалось

в логах клиента (CentOS)
Код: Выделить всё
kernel: call_verify: server 192.168.1.2 requires stronger authentication.
Но для такого маленького хранилища и этих скоростей думаю вполне достаточно