LINUX.ORG.RU
ФорумAdmin

Samba4 сильно нагружает журнал файловой системы (ext4).

 , ,


0

1

Собственно сабж. Имеется сервер Samba4 на Debian 7, настроенный в режиме совместимости с AD. Количество запросов к нему среднее (50 пользователей: авторизация в системе, почте и сквиде). Процесс самбы постоянно пишет что-то на диск, при этом сильно нагружая журнал ФС (вырубаю самбу - сразу все становится хорошо):

Total DISK READ:       0.00 B/s | Total DISK WRITE:     204.37 K/s
TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND                          
140 be/3 root        0.00 B/s    0.00 B/s  0.00 % 58.45 % [jbd2/vda1-8]
4081 be/4 root        0.00 B/s  110.05 K/s  0.00 %  3.49 % samba -D

Это точно не логи, скорее всего ldb и tdb файлы. lsof -p 4081 - http://pastebin.com/BZVuNyA2

Собственно вопрос: как уменьшить I/O? Пока поступил радикально: вырубил журнал у фс - нагрузка сразу резко упала. Пробовал играться с опциями монтирования (data=writeback/journal, noatime, user_xattr,commit=60,barrier=1) - это не дало никакого эффекта.

data=journal практически удваивает нагрузку.

И почему ты решил, что «нагружает»? 58% это не проценты пропускной способности, а проценты нагрузки - а нагрузка у тебя вообще смешная.

no-dashi ★★★★★
()
Ответ на: комментарий от no-dashi

58% это не проценты пропускной способности

Разве? Т.е. сумма всех показателей в графе «IO>» всегда должна равняться 100%? Но это же не так.

man iotop
It also displays the percentage of time the thread/process spent while swapping in and while waiting on I/O.

Т.е. проценты - это процент времени, потраченной на ожидание ввода-вывода, на «торможение» одним словом. :)

И почему ты решил, что «нагружает»?

Субъективно, дисковые операции выполнялись значительно медленнее (что логично, если очередь IO высокая) + LA высокий был.

data=journal практически удваивает нагрузку

Знаю, но в паре мест наткнулся на сообщения о том, что это внезапно может помочь. data=writeback по идее ее должно снижать, за счет того что процесс не ждет записи в журнал, но на деле это не произошло.

strangeman ★★★★
() автор топика
Последнее исправление: strangeman (всего исправлений: 1)
Ответ на: комментарий от strangeman

Каков процент использования диска на ФС, где лежат нагруженные самбовские базы? Как насчет глянуть на предмет фрагментации?

no-dashi ★★★★★
()
Ответ на: комментарий от no-dashi

Да вроде все в порядке.

fsck.ext4 -nvf /dev/vda1
e2fsck 1.42.5 (29-Jul-2012)
Warning!  /dev/vda1 is mounted.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information

       93925 inodes used (4.67%, out of 2011296)
          69 non-contiguous files (0.1%)
         101 non-contiguous directories (0.1%)
             # of inodes with ind/dind/tind blocks: 0/0/0
             Extent depth histogram: 84376/27
      768601 blocks used (9.56%, out of 8035584)
           0 bad blocks
           1 large file

       74580 regular files
        8095 directories
          12 character device files
          25 block device files
           1 fifo
         724 links
       11166 symbolic links (9438 fast symbolic links)
          37 sockets
------------
       94640 files

Это виртуалка, кстати, диск virtio. Модули ядра подгружены, тюнить в линуксе, насколько мне известно, ничего не надо по этому поводу, но мало ли...

strangeman ★★★★
() автор топика

Проблема в том, что ext4 очень нервно относится к множественным fsync(). Я в свое время «решал» это отключением барьеров на fs, что, конечно, нехорошо, но помогало.

undertaker ★★
()
Ответ на: комментарий от undertaker

Чтобы данные в базе не потерять, вестимо :-)

no-dashi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.