ZFS дикие тормоза при чтении/копировании.

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
WhiteMax
рядовой
Сообщения: 11
Зарегистрирован: 2012-06-01 14:31:52

ZFS дикие тормоза при чтении/копировании.

Непрочитанное сообщение WhiteMax » 2012-07-02 6:36:12

Приветствую.
Никак не могу победить тормоза при чтении/копировании, на ZFS.. Вот сейчас, копирую в MC несколько больших файлов, внутри одного пула ZFS, и скорость - 3-6мб/сек. Это даже не смешно. :(

FreeBSD-9-RELEASE-amd64, основная фс - zfs. Сервер amd x6, 16gb, 1 винт seagate ST3000DM001 3TB, с сектором 4к.
Разбито и установлено все так:

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

main# gpart show ada0
=>        34  5860533101  ada0  GPT  (2.7T)
          34           6        - free -  (3.0k)
          40         256     1  freebsd-boot  (128k)
         296  5860532832     2  freebsd-zfs  (2.7T)
  5860533128           7        - free -  (3.5k)

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

main# zdb | grep ashift
            ashift: 12

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

main# gpart list ada0
Geom name: ada0
modified: false
state: OK
fwheads: 16
fwsectors: 63
last: 5860533134
first: 34
entries: 128
scheme: GPT
Providers:
1. Name: ada0p1
   Mediasize: 131072 (128k)
   Sectorsize: 512
   Stripesize: 4096
   Stripeoffset: 0
   Mode: r0w0e0
   rawuuid: fa4fb2d9-9a91-11e1-b852-bcaec56f0421
   rawtype: 83bd6b9d-7f41-11dc-be0b-001560b84f0f
   label: (null)
   length: 131072
   offset: 20480
   type: freebsd-boot
   index: 1
   end: 295
   start: 40
2. Name: ada0p2
   Mediasize: 3000592809984 (2.7T)
   Sectorsize: 512
   Stripesize: 4096
   Stripeoffset: 0
   Mode: r1w1e1
   rawuuid: 129802b4-9a92-11e1-b852-bcaec56f0421
   rawtype: 516e7cba-6ecf-11d6-8ff8-00022d09712b
   label: disk0
   length: 3000592809984
   offset: 151552
   type: freebsd-zfs
   index: 2
   end: 5860533127
   start: 296
Consumers:
1. Name: ada0
   Mediasize: 3000592982016 (2.7T)
   Sectorsize: 512
   Stripesize: 4096
   Stripeoffset: 0
   Mode: r1w1e2

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

main# cat /boot/loader.conf
zfs_load="YES"
vfs.root.mountfrom="zfs:zroot"
vfs.zfs.prefetch_disable="1"
vfs.zfs.write_limit_override=805306368
vfs.zfs.arc_max="1024M"
vfs.zfs.vdev.min_pending="4"
vfs.zfs.vdev.max_pending="8"
vfs.zfs.cache_flush_disable="1"
При этом, очень часто вижу такую картину:

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

main# gstat
dT: 1.001s  w: 1.000s
 L(q)  ops/s    r/s   kBps   ms/r    w/s   kBps   ms/w   %busy Name
    1     75     75    300   13.1      0      0    0.0   98.5| ada0
    0      0      0      0    0.0      0      0    0.0    0.0| ada1
    0      0      0      0    0.0      0      0    0.0    0.0| ada0p1
    1     75     75    300   13.2      0      0    0.0   98.7| ada0p2
...
Очень часто загрузка около 100%, иногда даже более 100% (как такое может быть?), при минимальном количестве ops, и скорости чтения/записи. Судя по топу - это либо mysqld, либо searchd (стоит сфинкс), либо пхп, парсящий csv файлы.
Сервер - работающих доменов - нет (пока все отключено).
MySQL - только InnoDB, 50gb данных, каталоги оптимизированы по ZFS Evil tuning guide, т.е. recordsize 16k и 128k, atime=off, primarycache=metadata.

ada1 - это старый диск, пустой, никак не примонтированный.

Заметил еще вот что. Если выключить мускль, сфинкс, остановить задания крона, и запустить чтение какого-либо крупного файла - то скорость будет 120-170мб/сек. Стоит во второй консоли запустить чтение второго файла - как скорость обоих снижается до 3-6мб/сек. :shock:

Посоветуйте плз, куда копать и что крутить?... Уже начинаю жалеть, что поставил все на zfs, а не на ufs+soft updates... :(
Последний раз редактировалось f_andrey 2012-07-02 10:47:40, всего редактировалось 1 раз.
Причина: Автору, выбирайте пожалуйста раздел соответствуюший тематике вашего сообщения.

Хостинговая компания 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/

WhiteMax
рядовой
Сообщения: 11
Зарегистрирован: 2012-06-01 14:31:52

Re: ZFS дикие тормоза при чтении/копировании.

Непрочитанное сообщение WhiteMax » 2012-07-02 7:02:27

При этом, когда все отключено, и диск простаивает - запускаю сфинкс, и вижу такую картинку, в момент запуска (индексы весят не мало, он их загружает при старте):

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

dT: 1.001s  w: 1.000s
 L(q)  ops/s    r/s   kBps   ms/r    w/s   kBps   ms/w   %busy Name
    1  10577  10577 169239    0.1      0      0    0.0   65.2| ada0
    0      0      0      0    0.0      0      0    0.0    0.0| ada1
    0      0      0      0    0.0      0      0    0.0    0.0| ada0p1
    1  10577  10577 169239    0.1      0      0    0.0   71.1| ada0p2
Цифры - в десятки раз выше, и по количеству операций, и по скорости мб/сек. и при этом, бизи - не более 80%...
Прям, темный электрические силы какие-то.

WhiteMax
рядовой
Сообщения: 11
Зарегистрирован: 2012-06-01 14:31:52

Re: ZFS дикие тормоза при чтении/копировании.

Непрочитанное сообщение WhiteMax » 2012-07-02 16:31:59

Неужели ни у кого нет никаких идей?... :(

Аватара пользователя
skeletor
майор
Сообщения: 2548
Зарегистрирован: 2007-11-16 18:22:04

Re: ZFS дикие тормоза при чтении/копировании.

Непрочитанное сообщение skeletor » 2012-07-02 17:03:54

top -mio, а ещё можно dtrace'ом посмотреть.

WhiteMax
рядовой
Сообщения: 11
Зарегистрирован: 2012-06-01 14:31:52

Re: ZFS дикие тормоза при чтении/копировании.

Непрочитанное сообщение WhiteMax » 2012-07-02 18:32:07

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

main# top -mio
last pid:  2551;  load averages:  0.01,  0.06,  0.13                                                                   up 0+00:39:27  15:29:53
89 processes:  1 running, 88 sleeping
CPU:  0.1% user,  0.0% nice,  0.3% system,  0.0% interrupt, 99.6% idle
Mem: 644M Active, 16M Inact, 2750M Wired, 416K Cache, 12G Free
Swap: 16G Total, 16G Free

  PID USERNAME   VCSW  IVCSW   READ  WRITE  FAULT  TOTAL PERCENT COMMAND
 2467 root        158      0    296      2      4    302  99.02% php
 2266 mysql        13      1      3      0      0      3   0.98% mysqld
 1626 root          2      0      0      0      0      0   0.00% searchd
 1702 mysql         0      0      0      0      0      0   0.00% sh

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

dT: 1.001s  w: 1.000s
 L(q)  ops/s    r/s   kBps   ms/r    w/s   kBps   ms/w   %busy Name
    1     81     81    324   27.1      0      0    0.0  101.9| ada0
    0      0      0      0    0.0      0      0    0.0    0.0| ada1
    0      0      0      0    0.0      0      0    0.0    0.0| ada0p1
    1     81     81    324   27.1      0      0    0.0  102.1| ada0p2
Вот статистика, после ребута, и обновления loader.conf до

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

main# cat /boot/loader.conf
zfs_load="YES"
vfs.root.mountfrom="zfs:zroot"
vfs.zfs.prefetch_disable="0"
vfs.zfs.write_limit_override=1073741824
vfs.zfs.arc_max="3072M"
vfs.zfs.arc_min="3072M"
vfs.zfs.vdev.min_pending="4"
vfs.zfs.vdev.max_pending="8"
vfs.zfs.cache_flush_disable="1"

WhiteMax
рядовой
Сообщения: 11
Зарегистрирован: 2012-06-01 14:31:52

Re: ZFS дикие тормоза при чтении/копировании.

Непрочитанное сообщение WhiteMax » 2012-07-02 18:34:04

Может быть, для одиночного диска - стоит использовать UFS, и уже если дисков больше одного - то тогда ZFS?..

Аватара пользователя
skeletor
майор
Сообщения: 2548
Зарегистрирован: 2007-11-16 18:22:04

Re: ZFS дикие тормоза при чтении/копировании.

Непрочитанное сообщение skeletor » 2012-07-02 18:58:24

Как видно, нагрузку даёт php

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

2467 root        158      0    296      2      4    302  99.02% php
Как бороться? Уменьшать частоту парсирования, разносить на разные физические диски файлы, то есть разбивать на потоки и т.д.

WhiteMax
рядовой
Сообщения: 11
Зарегистрирован: 2012-06-01 14:31:52

Re: ZFS дикие тормоза при чтении/копировании.

Непрочитанное сообщение WhiteMax » 2012-07-02 19:35:44

Суть не столько в этом пхп скрипте. Весь этот скрипт - это посути file_get_contents('file.dat'); и запись 1-2 строк в мускль, при том, что file.dat - весом 16-20кб.
Даже если отключить запуск пхп скриптов вообще, такие же тормоза идут при простейших sql запросах к мусклю.
И если отключить и мускль, а тупо запустить чтение какого-нибудь большого файла - то скорость может быть 150-170мб. стоит запустить чтение второго файла паралельно - скорость сразу становится 3-5мб/сек. в каждом потоке.

У меня в ноуте старенький диск на 5400 оборотов работает быстрее, при паралельном чтении крупных файлов... :(

Только что обратил внимание, что был выключен AHCI в биосе. Включил, картина со скоростью - не поменялась. :(

Аватара пользователя
iZEN
ст. лейтенант
Сообщения: 1095
Зарегистрирован: 2007-09-15 16:45:26
Контактная информация:

Re: ZFS дикие тормоза при чтении/копировании.

Непрочитанное сообщение iZEN » 2012-07-03 2:40:57

zpool status?
GNU/Linux — это не Unix и даже никогда им не был, и, что самое смешное, никогда им не станет — GNU's Not Unix

Аватара пользователя
iZEN
ст. лейтенант
Сообщения: 1095
Зарегистрирован: 2007-09-15 16:45:26
Контактная информация:

Re: ZFS дикие тормоза при чтении/копировании.

Непрочитанное сообщение iZEN » 2012-07-03 2:42:13

Может поможет — Тюнинг zfs для использования на SATA дисках: http://blog.bsdmaster.com/2011/11/zfs-sata.html
GNU/Linux — это не Unix и даже никогда им не был, и, что самое смешное, никогда им не станет — GNU's Not Unix

WhiteMax
рядовой
Сообщения: 11
Зарегистрирован: 2012-06-01 14:31:52

Re: ZFS дикие тормоза при чтении/копировании.

Непрочитанное сообщение WhiteMax » 2012-07-03 16:07:23

iZEN писал(а):zpool status?

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

main# zpool status
  pool: zroot
 state: ONLINE
 scan: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        zroot       ONLINE       0     0     0
          ada0p2    ONLINE       0     0     0

errors: No known data errors
За ссылку на тюнинг для сата дисков - спасибо, изучаю.

WhiteMax
рядовой
Сообщения: 11
Зарегистрирован: 2012-06-01 14:31:52

Re: ZFS дикие тормоза при чтении/копировании.

Непрочитанное сообщение WhiteMax » 2012-07-03 16:59:26

Не помогло. Подправил параметры, все осталось на прежнем уровне. :(

Аватара пользователя
iZEN
ст. лейтенант
Сообщения: 1095
Зарегистрирован: 2007-09-15 16:45:26
Контактная информация:

Re: ZFS дикие тормоза при чтении/копировании.

Непрочитанное сообщение iZEN » 2012-07-03 22:03:15

В /boot/loader.conf уберите все опции, относящиеся к тюнингу ZFS, и попробуйте без них поработать.
GNU/Linux — это не Unix и даже никогда им не был, и, что самое смешное, никогда им не станет — GNU's Not Unix

WhiteMax
рядовой
Сообщения: 11
Зарегистрирован: 2012-06-01 14:31:52

Re: ZFS дикие тормоза при чтении/копировании.

Непрочитанное сообщение WhiteMax » 2012-07-03 23:46:20

Вообще без них - система наглухо виснет, через некоторое время работы. А до зависания - уходит вся память, и почему-то не выделяется под тот же MySQL и сфинкс - сваливается в своп. Выставляю vfs.zfs.arc_max - виснуть перестает, в своп не лезет, скорость такая же..

Аватара пользователя
iZEN
ст. лейтенант
Сообщения: 1095
Зарегистрирован: 2007-09-15 16:45:26
Контактная информация:

Re: ZFS дикие тормоза при чтении/копировании.

Непрочитанное сообщение iZEN » 2012-07-04 0:36:24

Обновите систему до 9-STABLE.

Ещё вывод "zpool upgrade" не помешал бы.
GNU/Linux — это не Unix и даже никогда им не был, и, что самое смешное, никогда им не станет — GNU's Not Unix

Аватара пользователя
skeletor
майор
Сообщения: 2548
Зарегистрирован: 2007-11-16 18:22:04

Re: ZFS дикие тормоза при чтении/копировании.

Непрочитанное сообщение skeletor » 2012-07-04 10:34:43

посмотрите truss'ом ваш php и mysql, может что-то интересное найдёте

WhiteMax
рядовой
Сообщения: 11
Зарегистрирован: 2012-06-01 14:31:52

Re: ZFS дикие тормоза при чтении/копировании.

Непрочитанное сообщение WhiteMax » 2012-07-05 16:04:12

smart показал увеличивающееся число Reallocated_Sector_Ct = 1256. Увеличивается на несколько штук в день. Думаю, проблема найдена. Всем спасибо.