Низкая скорость чтения на ZFS (i386)

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
nsand
мл. сержант
Сообщения: 132
Зарегистрирован: 2008-03-08 15:25:07
Откуда: Россия, Пенза
Контактная информация:

Re: Низкая скорость чтения на ZFS (i386)

Непрочитанное сообщение nsand » 2009-09-17 8:48:57

Fastman писал(а):Можно скромно поинтересоваться КАК вы тестируете скорость... как то никто не спросил еще об этом...
Точно. забыл сказать. Тестирую через dd, по памяти попробую написать.
dd if=/dev/zero of=/data/file.txt bs=1m count=700
dd if=/data/film/video.avi of=/dev/null bs=1m
файл видео беру старый, который был залит при большом свободном месте на дисках.
Правда не думаю, что остаток свбодного места будет влиять на чтение.
В ядре отключил дебаг и т.д. осталось отключить там еще WITNESS кажеться.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: Низкая скорость чтения на ZFS (i386)

Непрочитанное сообщение Fastman » 2009-09-17 13:19:00

nsand писал(а):
Fastman писал(а):Можно скромно поинтересоваться КАК вы тестируете скорость... как то никто не спросил еще об этом...
Точно. забыл сказать. Тестирую через dd, по памяти попробую написать.
dd if=/dev/zero of=/data/file.txt bs=1m count=700
dd if=/data/film/video.avi of=/dev/null bs=1m
файл видео беру старый, который был залит при большом свободном месте на дисках.
Правда не думаю, что остаток свбодного места будет влиять на чтение.
В ядре отключил дебаг и т.д. осталось отключить там еще WITNESS кажеться.
Прогоните тесты свои изменяя размер блока в меньшую и большую сторону.
Главное в жизни здоровье и любовь, остальное я все куплю.

Аватара пользователя
nsand
мл. сержант
Сообщения: 132
Зарегистрирован: 2008-03-08 15:25:07
Откуда: Россия, Пенза
Контактная информация:

Re: Низкая скорость чтения на ZFS (i386)

Непрочитанное сообщение nsand » 2009-09-17 15:26:32

Fastman писал(а):Прогоните тесты свои изменяя размер блока в меньшую и большую сторону.
чтение с размером блока от 32К до 2М

Код: Выделить всё

724662656 bytes transferred in 31.691699 secs (22866008 bytes/sec)
724662656 bytes transferred in 32.887158 secs (22034822 bytes/sec)
724662656 bytes transferred in 28.408099 secs (25509016 bytes/sec)
724662656 bytes transferred in 27.303942 secs (26540587 bytes/sec)
724662656 bytes transferred in 27.397511 secs (26449945 bytes/sec)
вобщем с увеличением размера блока скорость немного снижается. Запись чуть-чуть быстрее с увеличением блока. в переделах 1 Мб\сек.
Что интересно, каждый раз чтение не повышает скорость, по идее он же должен был закешировать..

Гость
проходил мимо

Re: Низкая скорость чтения на ZFS (i386)

Непрочитанное сообщение Гость » 2009-09-21 5:02:46

кстати, попробуй ZIO_USE_UMA. По собственному опыту могу сказать, что отзывчивость I/O операции стала лучше. Патчик для /head можно сгенерить, например так

Код: Выделить всё

$ svn diff -r196666 svn://svn.freebsd.org/base/user/kmacy/head_zfs_merge/ >zfs_kip.diff

Код: Выделить всё

$ vmstat -z
ITEM                     SIZE     LIMIT      USED      FREE  REQUESTS  FAILURES
zio_buf_3584:            3584,        0,        5,      114,     1974,        0
zio_data_buf_3584:       3584,        0,       34,       10,       35,        0
zio_buf_4096:            4096,        0,      214,       65,     1956,        0
zio_data_buf_4096:       4096,        0,       26,       18,       57,        0
zio_buf_5120:            5120,        0,        7,       37,      573,        0
zio_data_buf_5120:       5120,        0,       28,       16,       38,        0

Гость
проходил мимо

Re: Низкая скорость чтения на ZFS (i386)

Непрочитанное сообщение Гость » 2009-09-21 5:14:01

мне вот любопытно как себя поведет (и сколько памяти кушать будет) ZIO_USE_UMA на системах, где память ограничена. Т.е. i386 low-end'ы с не более чем 512Mb на борту.
Если память кушать будет экономно, то тогда UFS2 не нужна. Точнее нужна только ради BSD лицензии.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35437
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Низкая скорость чтения на ZFS (i386)

Непрочитанное сообщение Alex Keda » 2009-09-21 8:15:09

могу потестить.
у меня на бэкапе i386 - гиг рамы.
на этот гиг куча народу облизывается.
по факту - больше 256 там не юзается... ну, 300 - планка.
оставлю 256 - видно будет =))
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Neus
капитан
Сообщения: 1961
Зарегистрирован: 2008-09-08 21:59:56

Re: Низкая скорость чтения на ZFS (i386)

Непрочитанное сообщение Neus » 2009-09-21 8:38:31

lissyara писал(а):оставлю 256 - видно будет =))
аха, давай...
/ми пашол запивом, будет чем помянуть этот сервачок :)

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35437
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Низкая скорость чтения на ZFS (i386)

Непрочитанное сообщение Alex Keda » 2009-09-21 8:49:07

Neus писал(а):
lissyara писал(а):оставлю 256 - видно будет =))
аха, давай...
/ми пашол запивом, будет чем помянуть этот сервачок :)
мне бы твою уверенность...
будет работать, никуда он не денется.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Neus
капитан
Сообщения: 1961
Зарегистрирован: 2008-09-08 21:59:56

Re: Низкая скорость чтения на ZFS (i386)

Непрочитанное сообщение Neus » 2009-09-21 9:01:00

lissyara писал(а):будет работать, никуда он не денется.
ну у тебя скилов во фре поболе чем у меня :)
я как то ставил такой экспиримент - ограничил память в 256м через loader.conf
и фсе... система хоть и загрузилась, но при попытке скопировать исошник ~2га через несколько секунд просто умерла...
правда это была х64 фря :oops:
вопщем удачи!!! если будет работать выложи плиз какие sysctl-ы тюнил :)

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35437
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Низкая скорость чтения на ZFS (i386)

Непрочитанное сообщение Alex Keda » 2009-09-21 9:10:33

я ничё не тюню, обычно.
======
а zfs вообще первый раз на этом тазике юзаю.
вот тока всё равно думаю что не отвалиться.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Neus
капитан
Сообщения: 1961
Зарегистрирован: 2008-09-08 21:59:56

Re: Низкая скорость чтения на ZFS (i386)

Непрочитанное сообщение Neus » 2009-09-21 10:24:21

lissyara писал(а):я ничё не тюню, обычно.
======
а zfs вообще первый раз на этом тазике юзаю.
вот тока всё равно думаю что не отвалиться.
ааа... ну тада в данном случае у меня скилл выше :-D
вопщем при загрузке када kmem < 256M (for v6) or < 512M (for v13) вылазит меседж что это не cool и работать буду каряво, и просит выставить этот kmem как ей нада (других версий ZFS не юзал) :)
раз ты ничего не тюнил, то у тебя kmem_size=1/3 от 1Г вот она примерно и жрет 200-300 метров (а жрет эту память arc-кеш, размер которого как раз и расчитывается от величин kmem_*, плюс видимо еще буфера какие-то )
поставь kmem_scale=2 или 1 и ее аппетиты сразу вырастут ;)
---
еще заметил одну интересную особенность - если смотреть скорость копирования в кде и gstat-ом имеется интерсный прикол:
копи-пастю в кде файлик ~1.4га из одной папки в другую и вижу - кде в трее показывает скорость ~10-16 mb/s
а gstat - сначала чтение ~40-60 mb/s затем запись с такой же скоростью... :smile:

Аватара пользователя
nsand
мл. сержант
Сообщения: 132
Зарегистрирован: 2008-03-08 15:25:07
Откуда: Россия, Пенза
Контактная информация:

Re: Низкая скорость чтения на ZFS (i386)

Непрочитанное сообщение nsand » 2009-09-21 12:45:29

Гость писал(а):кстати, попробуй ZIO_USE_UMA. По собственному опыту могу сказать, что отзывчивость I/O операции стала лучше. Патчик для /head можно сгенерить, например так

Код: Выделить всё

$ svn diff -r196666 svn://svn.freebsd.org/base/user/kmacy/head_zfs_merge/ >zfs_kip.diff

Код: Выделить всё

$ vmstat -z
патч сформировал, наложил, при сборке ядра ошибка... zlib.h нужен.. у меня 8-BETA4

Код: Выделить всё

svn diff -r196666 svn://svn.freebmkdep -f .depend -a   -nostdinc -D_KERNEL -DKLD_MODULE -DHAVE_KERNEL_OPTION_HEADERS -I. -I@ -I@/contrib/altq -I/usr/obj/usr/src/sys/GENERIC_ZFS /usr/src/sys/modules/crypto/../../opencrypto/crypto.c cryptodev_if.c /usr/src/sys/modules/crypto/../../opencrypto/criov.c /usr/src/sys/modules/crypto/../../opencrypto/cryptosoft.c /usr/src/sys/modules/crypto/../../opencrypto/xform.c /usr/src/sys/modules/crypto/../../opencrypto/cast.c /usr/src/sys/modules/crypto/../../opencrypto/opencrypto_deflate.c /usr/src/sys/modules/crypto/../../opencrypto/rmd160.c /usr/src/sys/modules/crypto/../../crypto/rijndael/rijndael-alg-fst.c /usr/src/sys/modules/crypto/../../crypto/rijndael/rijndael-api.c /usr/src/sys/modules/crypto/../../opencrypto/skipjack.c /usr/src/sys/modules/crypto/../../crypto/blowfish/bf_enc.c /usr/src/sys/modules/crypto/../../crypto/blowfish/bf_skey.c /usr/src/sys/modules/crypto/../../crypto/des/des_ecb.c /usr/src/sys/modules/crypto/../../crypto/des/des_enc.c /usr/src/sys/modules/crypto/../../crypto/des/des_setkey.c /usr/src/sys/modules/crypto/../../crypto/sha1.c /usr/src/sys/modules/crypto/../../crypto/sha2/sha2.c /usr/src/sys/modules/crypto/../../crypto/camellia/camellia.c /usr/src/sys/modules/crypto/../../crypto/camellia/camellia-api.c
In file included from /usr/src/sys/modules/crypto/../../opencrypto/xform.c:58:
@/opencrypto/deflate.h:39:31: error: libkern/zlib/zlib.h: No such file or directory
/usr/src/sys/modules/crypto/../../opencrypto/opencrypto_deflate.c:43:31: error: libkern/zlib/zlib.h: No such file or directory
mkdep: compile failed
*** Error code 1
1 error
*** Error code 2
1 error
*** Error code 2
Скорость еще смотрю в gkrellm, иногда ровно, а иногда тоже рывками и запись до 80. не средняя 20-30.

Гость
проходил мимо

Re: Низкая скорость чтения на ZFS (i386)

Непрочитанное сообщение Гость » 2009-09-21 13:33:51

ты забыл добавить `-p0' к опциям. Я, например, всегда применяю так

Код: Выделить всё

$ cd /usr/src
$ patch -CEfsp0 -F0 -i /path/to/patch.diff
и когда уверен, что конфликтов нет, опускаю `-C'

Код: Выделить всё

$ patch -CEfsp0 -F0 -i /path/to/patch.diff
если глянешь внутрь патча, то libkern/zlib/zlib.h там есть.

Гость
проходил мимо

Re: Низкая скорость чтения на ZFS (i386)

Непрочитанное сообщение Гость » 2009-09-21 13:35:04

Гость писал(а):и когда уверен, что конфликтов нет, опускаю `-C'

Код: Выделить всё

$ patch -Efsp0 -F0 -i /path/to/patch.diff
fixed ;)

Аватара пользователя
nsand
мл. сержант
Сообщения: 132
Зарегистрирован: 2008-03-08 15:25:07
Откуда: Россия, Пенза
Контактная информация:

Re: Низкая скорость чтения на ZFS (i386)

Непрочитанное сообщение nsand » 2009-09-22 9:40:50

После хитрых ручных манипуляций с файлами, ядро таки собрал.
Оно даже загрузилось и работает, но на скорость пока не повлияло. А вот KVA_PAGES=768 или выше никто не пробывал ?

Аватара пользователя
nsand
мл. сержант
Сообщения: 132
Зарегистрирован: 2008-03-08 15:25:07
Откуда: Россия, Пенза
Контактная информация:

Re: Низкая скорость чтения на ZFS (i386)

Непрочитанное сообщение nsand » 2009-09-23 14:58:41

Еще вопросик, кто на курренте, скажите как у вас со скоростью на ZFS.
И вообще у кого какая скорость при работе с ZFS.

Гость
проходил мимо

Re: Низкая скорость чтения на ZFS (i386)

Непрочитанное сообщение Гость » 2009-09-23 16:33:32

nsand,
десктоп двухлетней давности (детали не менял):
чтение - 150 Mb/sec для dd if=/path/to/someFile of=/dev/null
запись - 60 Mb/sec для dd if=/dev/zero of=/path/to/someFile
почти не тюнил. Скорость чтения такая из-за prefetch и mirror, ибо сами диски работают намного медленнее.

Гость
проходил мимо

Re: Низкая скорость чтения на ZFS (i386)

Непрочитанное сообщение Гость » 2009-09-23 16:40:48

только эти цифры ничего не значат. В боевых условиях важна скорость для случайного чтения (random read). А вот здесь и решают max/min_pending, aggregation_limit и NCQ (max/mintags).

кстати, мне, например, не понятно зачем ты на 8-ке и 9-ке трогаешь KVA_PAGES. У мя на i386 этого не требовалось чтобы поднять использование памяти до 2G. Да и память я трогал только для того чтобы поднять использование, ибо на 8-ке ZFS старается ее экономно кушать.

Аватара пользователя
nsand
мл. сержант
Сообщения: 132
Зарегистрирован: 2008-03-08 15:25:07
Откуда: Россия, Пенза
Контактная информация:

Re: Низкая скорость чтения на ZFS (i386)

Непрочитанное сообщение nsand » 2009-09-23 19:32:44

Гость писал(а):не понятно зачем ты на 8-ке и 9-ке трогаешь KVA_PAGES. У мя на i386 этого не требовалось чтобы поднять использование памяти до 2G. Да и память я трогал только для того чтобы поднять использование, ибо на 8-ке ZFS старается ее экономно кушать.
Вот и у меня на v.6 была скорость 110Мб чтение и 90Мб запись. KVA_PAGES менял для того чтобы можно было выставлять kmem до 1536M. Но там начинаются проблемы с nvidia. Вобщем пока
скорость что с тюнингом что без него полсе обновление до 8-RC1 одинаковая. А у меня тоже в zfs тоже объединение двух винтов, раньше он и расспараллеливал задачи, может это и поломалось.
Похоже что это из-за v.13.. А боевые условия у меня это копирование фильмов :) И с KVA_PAGES при поднятии kmem более 384М стабильно работает, а ниже бывает в panic выленает k_mem_malloc.
Сейчас обнаружил что делал только zpool upgrade tank а zfs upgrade tank забыл.. Сделал, но на скорость не повлияло..

Гость
проходил мимо

Re: Низкая скорость чтения на ZFS (i386)

Непрочитанное сообщение Гость » 2009-09-24 13:59:41

nsand писал(а):Вот и у меня на v.6 была скорость 110Мб чтение и 90Мб запись.
то была скорость для 9-current и ZIO_USE_UMA. На v.6 у мя скорость чтения выше 80Mb/sec не поднималась, правда было это 1.5 года назад, точно не помню.
nsand писал(а):KVA_PAGES менял для того чтобы можно было выставлять kmem до 1536M.
на 8-stable и 9-current?
nsand писал(а):Но там начинаются проблемы с nvidia.
проблем проприетарных блобов мало кого волнуют. Пусть сначала nvidia научится шустро 2D рисовать и дружить с xrandr.
nsand писал(а):Вобщем пока скорость что с тюнингом что без него полсе обновление до 8-RC1 одинаковая.
я так и не понял, поднятие arc_min до 2/3 от arc_max ты пробовал? Что-то типа:

Код: Выделить всё

vm.kmem_size=3500M
vfs.zfs.arc_max=2500M
vfs.zfs.arc_min=2000M
vfs.zfs.prefetch_disable=0
убрав zil и cache_flush из loader.conf и используя ZIO_USE_UMA?

Аватара пользователя
nsand
мл. сержант
Сообщения: 132
Зарегистрирован: 2008-03-08 15:25:07
Откуда: Россия, Пенза
Контактная информация:

Re: Низкая скорость чтения на ZFS (i386)

Непрочитанное сообщение nsand » 2009-09-24 19:07:26

Гость писал(а):
nsand писал(а):Вот и у меня на v.6 была скорость 110Мб чтение и 90Мб запись.
то была скорость для 9-current и ZIO_USE_UMA. На v.6 у мя скорость чтения выше 80Mb/sec не поднималась, правда было это 1.5 года назад, точно не помню.
vfs.zfs.prefetch_disable=0[/code]убрав zil и cache_flush из loader.conf и используя ZIO_USE_UMA?
Правда ядро уже без ZIO_USE_UMA, но тогда оно не повлияло

Код: Выделить всё

kmem_size=  1536   1536  1536  1536 1536   512
arc_max     1200   1000   700   500   256  256
arc_min      900    700   400   300   128  164
запись        36     51    57   39   30    31
чтение        26     24    30   25  29   28
Нашел страый файл наименее фрагментированный, на нем чтение 82 Мб.сек при любых параметрах оптимизации.. изменении prefetch, zil, flush картину не меняет.
Вобщем в 8.0 автооптимизация сама хорошо работает, пока буду так. Т.к. возможно скоро сменю винты.

Гость
проходил мимо

Re: Низкая скорость чтения на ZFS (i386)

Непрочитанное сообщение Гость » 2009-09-24 19:14:15

покажи весь `kstat.zfs.' а не только c_min/c_max/size. И покажи вывод `vmstat -z' со включенным ZIO_USE_UMA

Аватара пользователя
nsand
мл. сержант
Сообщения: 132
Зарегистрирован: 2008-03-08 15:25:07
Откуда: Россия, Пенза
Контактная информация:

Re: Низкая скорость чтения на ZFS (i386)

Непрочитанное сообщение nsand » 2009-09-24 19:43:39

Гость писал(а):покажи весь `kstat.zfs.' а не только c_min/c_max/size. И покажи вывод `vmstat -z' со включенным ZIO_USE_UMA

Код: Выделить всё

nsand% sysctl kstat.zfs.                                                                                                                                                      [ 20:41 ]
kstat.zfs.misc.arcstats.hits: 195337
kstat.zfs.misc.arcstats.misses: 69591
kstat.zfs.misc.arcstats.demand_data_hits: 113413
kstat.zfs.misc.arcstats.demand_data_misses: 43249
kstat.zfs.misc.arcstats.demand_metadata_hits: 81924
kstat.zfs.misc.arcstats.demand_metadata_misses: 26342
kstat.zfs.misc.arcstats.prefetch_data_hits: 0
kstat.zfs.misc.arcstats.prefetch_data_misses: 0
kstat.zfs.misc.arcstats.prefetch_metadata_hits: 0
kstat.zfs.misc.arcstats.prefetch_metadata_misses: 0
kstat.zfs.misc.arcstats.mru_hits: 54501
kstat.zfs.misc.arcstats.mru_ghost_hits: 2148
kstat.zfs.misc.arcstats.mfu_hits: 140836
kstat.zfs.misc.arcstats.mfu_ghost_hits: 12255
kstat.zfs.misc.arcstats.deleted: 60771
kstat.zfs.misc.arcstats.recycle_miss: 17597
kstat.zfs.misc.arcstats.mutex_miss: 11
kstat.zfs.misc.arcstats.evict_skip: 4498
kstat.zfs.misc.arcstats.hash_elements: 9041
kstat.zfs.misc.arcstats.hash_elements_max: 11664
kstat.zfs.misc.arcstats.hash_collisions: 5666
kstat.zfs.misc.arcstats.hash_chains: 526
kstat.zfs.misc.arcstats.hash_chain_max: 3
kstat.zfs.misc.arcstats.p: 133779456
kstat.zfs.misc.arcstats.c: 134217728
kstat.zfs.misc.arcstats.c_min: 100663296
kstat.zfs.misc.arcstats.c_max: 134217728
kstat.zfs.misc.arcstats.size: 134157860
kstat.zfs.misc.arcstats.hdr_size: 1229576
kstat.zfs.misc.arcstats.l2_hits: 0
kstat.zfs.misc.arcstats.l2_misses: 0
kstat.zfs.misc.arcstats.l2_feeds: 0
kstat.zfs.misc.arcstats.l2_rw_clash: 0
kstat.zfs.misc.arcstats.l2_writes_sent: 0
kstat.zfs.misc.arcstats.l2_writes_done: 0
kstat.zfs.misc.arcstats.l2_writes_error: 0
kstat.zfs.misc.arcstats.l2_writes_hdr_miss: 0
kstat.zfs.misc.arcstats.l2_evict_lock_retry: 0
kstat.zfs.misc.arcstats.l2_evict_reading: 0
kstat.zfs.misc.arcstats.l2_free_on_write: 0
kstat.zfs.misc.arcstats.l2_abort_lowmem: 0
kstat.zfs.misc.arcstats.l2_cksum_bad: 0
kstat.zfs.misc.arcstats.l2_io_error: 0
kstat.zfs.misc.arcstats.l2_size: 0
kstat.zfs.misc.arcstats.l2_hdr_size: 0
kstat.zfs.misc.arcstats.memory_throttle_count: 0
kstat.zfs.misc.vdev_cache_stats.delegations: 2025
kstat.zfs.misc.vdev_cache_stats.hits: 15717
kstat.zfs.misc.vdev_cache_stats.misses: 10004
С ZIO_UMA надо опять скачивать diff и накладывать пытаться, т.к. обновился