Вернуться   Форум об интернет-маркетинге > >
Ответ
 
Опции темы
Старый 02.05.2016, 11:16   #21
Kpd
Академик
 
Регистрация: 12.07.2006
Сообщений: 3,180
Репутация: 68191

ТопикСтартер Re: Как часто делать md2_resync ?

Цитата:
Сообщение от Pilat Посмотреть сообщение
Вы бы остановили всё и проверили скорость чтения с диска при нулевой активности. Может диски давно умерли.
production, нельзя останавливать

Цитата:
Сообщение от netwind Посмотреть сообщение
По-моему, nginx многовато пишет. Вот от лишней записи имеет смысл избавляться.
Опытным путем установил, что nginx пишут в access_log. Отключил все access_log и запись упала почти до 0.
Но глобально это ничего не изменило.

Цитата:
Сообщение от netwind Посмотреть сообщение
Используются ли буферы ответов, то есть создаются ли файлы в /var/spool/nginx/cache/
Есть кэширование страниц целиком, но в /tmpfs . Отключение его опять же не изменило нагрузку на диск (скорее стало хуже от самого факта отключения кэширования, оно сокращает примерно на 10% запросы к бэкаэнду).

Также попробовал уменьшить количество workier-ов в nginx. Не помогло.

Все вышеописанное делал по отдельности с перезапуском nginx.

---------- Добавлено 02.05.2016 в 11:22 ----------

Сегодня recync опять запустился. Сейчас пишет со скоростью 40Mb/s и пока проблем нет. Но и нагрузки на сервер нет (чуть больше половины пиковой).

Т.е. моя конструкция в cron не сработала
Цитата:
1 1 15-21 * Mon root /usr/sbin/raid-check
Как его заставить запускаться всего 1 раз в какой-нибудь понедельник месяца?

---------- Добавлено 02.05.2016 в 11:27 ----------

Цитата:
Сообщение от Pilat Посмотреть сообщение
это половина от пиковой нагрузки? Цифры то какие-то совсем крошечные.
Да, абсолютные цифры крошечные.
Может быть проблема с какими-то лимитами на открытые файлы и т.п.?

Код:
# sysctl -p
fs.file-max = 2097152
vm.swappiness = 10
vm.dirty_ratio = 40
vm.dirty_background_ratio = 10
vm.dirty_writeback_centisecs = 15000
vm.vfs_cache_pressure = 1000
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.tcp_max_orphans = 65536
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_keepalive_intvl = 15
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.tcp_max_syn_backlog = 65536
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_mem = 50576 64768 98152
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_orphan_retries = 0
net.ipv4.tcp_syncookies = 0
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_sack = 1
net.ipv4.tcp_congestion_control = htcp
net.ipv4.tcp_no_metrics_save = 1
net.ipv4.route.flush = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.lo.rp_filter = 1
net.ipv4.conf.enp1s0f0.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.lo.accept_source_route = 0
net.ipv4.conf.enp1s0f0.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_rfc1337 = 1
net.ipv4.ip_forward = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.core.somaxconn = 32768
net.core.netdev_max_backlog = 1000
net.core.rmem_default = 65536
net.core.wmem_default = 65536
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216


---------- Добавлено 02.05.2016 в 11:30 ----------

В php-коде довольно много вызовов file_exists()- и getimagefilesize() (для локальных файлов)
Могут они так сильно дергать?
И есть 2 папки с 30к подпапок в каждой (и в каждой подпапке картинки). Может быть в этом корень зла?

---------- Добавлено 02.05.2016 в 11:40 ----------

Вот так сейчас выглядит iotop
Код:
  510 be/4 root        0.00 B/s    0.00 B/s  0.00 % 17.34 % [xfsaild/md125]
18085 be/4 nginx      32.67 K/s    2.39 K/s  0.00 % 17.09 % nginx: worker process
18078 be/4 nginx      91.25 K/s 2040.11 B/s  0.00 % 17.06 % nginx: worker process
18082 be/4 nginx      35.06 K/s    5.58 K/s  0.00 % 15.49 % nginx: worker process
23469 be/4 user       49.41 K/s    0.00 B/s  0.00 % 15.01 % php-fpm: pool user
18080 be/4 nginx      47.42 K/s  816.04 B/s  0.00 % 15.00 % nginx: worker process
18083 be/4 nginx      76.90 K/s    2.39 K/s  0.00 % 14.80 % nginx: worker process
18081 be/4 nginx      49.81 K/s    2.39 K/s  0.00 % 14.08 % nginx: worker process
18079 be/4 nginx      81.68 K/s 2040.11 B/s  0.00 % 11.81 % nginx: worker process
18084 be/4 nginx      29.88 K/s 1224.07 B/s  0.00 % 10.01 % nginx: worker process
23168 be/4 user       28.69 K/s    0.00 B/s  0.00 %  7.51 % php-fpm: pool user
23447 be/4 user       22.31 K/s    0.00 B/s  0.00 %  7.02 % php-fpm: pool user
23202 be/4 user       21.92 K/s    0.00 B/s  0.00 %  6.38 % php-fpm: pool user
22965 be/4 user       21.12 K/s    0.00 B/s  0.00 %  5.76 % php-fpm: pool user
23097 be/4 user        6.38 K/s    0.00 B/s  0.00 %  5.07 % php-fpm: pool user
23096 be/4 user       15.14 K/s    0.00 B/s  0.00 %  4.96 % php-fpm: pool user
23199 be/4 user       12.75 K/s    0.00 B/s  0.00 %  4.52 % php-fpm: pool user
23176 be/4 user        6.77 K/s    0.00 B/s  0.00 %  4.38 % php-fpm: pool user
23033 be/4 user       32.67 K/s    0.00 B/s  0.00 %  4.11 % php-fpm: pool user
23107 be/4 user        7.57 K/s    0.00 B/s  0.00 %  3.92 % php-fpm: pool user
23117 be/4 user        7.97 K/s    0.00 B/s  0.00 %  3.49 % php-fpm: pool user
22946 be/4 user       10.76 K/s    0.00 B/s  0.00 %  3.35 % php-fpm: pool user
23210 be/4 user        9.16 K/s    0.00 B/s  0.00 %  3.33 % php-fpm: pool user
23123 be/4 user        5.98 K/s    0.00 B/s  0.00 %  3.29 % php-fpm: pool user
23136 be/4 user       25.10 K/s    0.00 B/s  0.00 %  3.16 % php-fpm: pool user
23144 be/4 user        5.58 K/s    0.00 B/s  0.00 %  3.14 % php-fpm: pool user
23139 be/4 user       12.75 K/s    0.00 B/s  0.00 %  2.98 % php-fpm: pool user
23227 be/4 user        5.58 K/s    0.00 B/s  0.00 %  2.98 % php-fpm: pool user
23125 be/4 user       13.15 K/s    0.00 B/s  0.00 %  2.93 % php-fpm: pool user
23145 be/4 user        6.38 K/s    0.00 B/s  0.00 %  2.86 % php-fpm: pool user
23133 be/4 user        8.77 K/s    0.00 B/s  0.00 %  2.71 % php-fpm: pool user


---------- Добавлено 02.05.2016 в 11:58 ----------

Нет, я не прав. Отключение access_log дало результат. la постепенно снижается и тормозов нет. Но пока не знаю, что будет вечером под пиковой нагрузкой.
Kpd вне форума   Ответить с цитированием

Реклама
Старый 02.05.2016, 12:04   #22
WapGraf
Академик
 
Аватар для WapGraf
 
Регистрация: 30.09.2009
Адрес: Болгария
Сообщений: 5,334
Репутация: 198812
Отправить сообщение для WapGraf с помощью Skype™
Социальные сети

По умолчанию Re: Как часто делать md2_resync ?

Kpd, не обязательно так часто писать логи. Можете задать буфер
__________________
EuroHoster.org - территория быстрых серверов / Скидка 50% на VPS:
2 vCPU / 4 GB RAM / 20 GB SSD / 100 Mbps / панель Plesk / мониторинг доступности - 8.00 EUR
SSL-сертификаты от 4.89 EUR
WapGraf вне форума   Ответить с цитированием
Старый 02.05.2016, 13:07   #23
netwind
Академик
 
Регистрация: 06.05.2007
Сообщений: 6,010
Репутация: 490997

По умолчанию Re: Как часто делать md2_resync ?

Цитата:
Сообщение от Kpd Посмотреть сообщение
production, нельзя останавливать
О, так не бывает.

Попробуйте все же проверить SMART и собрать данные iotop за бОльшие промежутки времени - по 10 сек, 1 минуте. Там ведь интервал по-умолчанию 1 секунда. Может быть, будет более ясно на что обратить внимание - на php или nginx. Тут вам заметили, что суммарная запись из шапки iotop не такая уж высокая.
Цитата:
Сообщение от Kpd Посмотреть сообщение
Как его заставить запускаться всего 1 раз в какой-нибудь понедельник месяца?
Я повторюсь - как в дебиане. Это не такое очевидное выражение. Тот кто это писал, тоже помучился и отразил в комментариях в файле /etc/cron.d/mdadm :
Цитата:
# By default, run at 00:57 on every Sunday, but do nothing unless the day of
# the month is less than or equal to 7. Thus, only run on the first Sunday of
# each month. crontab(5) sucks, unfortunately, in this regard; therefore this
# hack (see #380425).
57 0 * * 0 root [ -x /usr/share/mdadm/checkarray ] && [ $(date +\%d) -le 7 ] && /usr/share/mdadm/checkarray --cron --all --quiet
netwind вне форума   Ответить с цитированием
Сказали спасибо:
Kpd
Старый 02.05.2016, 15:02   #24
Kpd
Академик
 
Регистрация: 12.07.2006
Сообщений: 3,180
Репутация: 68191

ТопикСтартер Re: Как часто делать md2_resync ?

Цитата:
Сообщение от netwind Посмотреть сообщение
Я повторюсь - как в дебиане.
Нет у меня сервера с Дебианом под рукой

Первый понедельник месяца получился так:

Цитата:
1 1 * * Mon root [ $(date +\%d) -le 7 ] && /usr/sbin/raid-check


---------- Добавлено 02.05.2016 в 15:03 ----------

Делать замеры io под рабочим md2_recynd наверное не имеет смысла. Завтра попробую под чистой нагрузкой посмотреть.
Отчет выше - по 10 секунд.
Kpd вне форума   Ответить с цитированием
Старый 02.05.2016, 19:29   #25
sahainvalid
Аспирант
 
Аватар для sahainvalid
 
Регистрация: 21.07.2009
Сообщений: 175
Репутация: 50855
Социальные сети Профиль в ВКонтакте

По умолчанию Re: Как часто делать md2_resync ?

Цитата:
Сообщение от Kpd Посмотреть сообщение
Первый понедельник месяца получился так:

Цитата:
1 1 * * Mon root [ $(date +\%d) -le 7 ] && /usr/sbin/raid-check
думаю так будет лучше:
1 1 1-6 * Mon root /usr/sbin/raid-check
__________________
Я инвалид детства по ДЦП первой группы. мой сайт: ofru.ru
мой второй сайт: Мы Поэты wepoets.ru
хостинг изображений is-all.ru/i/
sahainvalid вне форума   Ответить с цитированием
Старый 02.05.2016, 20:54   #26
Kpd
Академик
 
Регистрация: 12.07.2006
Сообщений: 3,180
Репутация: 68191

ТопикСтартер Re: Как часто делать md2_resync ?

Цитата:
Сообщение от sahainvalid Посмотреть сообщение
думаю так будет лучше:
1 1 1-6 * Mon root /usr/sbin/raid-check
У меня было прописано
Цитата:
1 1 15-21 * Mon root /usr/sbin/raid-check
Но recync запустился сегодня
Kpd вне форума   Ответить с цитированием
Старый 02.05.2016, 23:48   #27
sahainvalid
Аспирант
 
Аватар для sahainvalid
 
Регистрация: 21.07.2009
Сообщений: 175
Репутация: 50855
Социальные сети Профиль в ВКонтакте

По умолчанию Re: Как часто делать md2_resync ?

1 1 1-6 * Mon root /usr/sbin/raid-check
я ошибся, не 1-6 а 1-7

Цитата:
1 1 15-21 * Mon root /usr/sbin/raid-check
Но recync запустился сегодня
потому что день недели отменяет числа
sahainvalid вне форума   Ответить с цитированием
Старый 03.05.2016, 00:57   #28
Pilat
Академик
 
Регистрация: 08.03.2007
Сообщений: 2,914
Репутация: 88922
Отправить сообщение для Pilat с помощью ICQ Отправить сообщение для Pilat с помощью Skype™

По умолчанию Re: Как часто делать md2_resync ?

Возможно, тут вот что случилось:

Я похожую картину наблюдал на сыпящихся дисках в софтрейде. Обычные SATA диски при обнаружении ошибки пытаются её исправить - и делают это довольно долго и иногда им это удаётся. Общая производительность падает драматически, но при этом всё работает.
Серверные диски имеют установленной опцию, после которой при возникновении проблемы сразу выдают ошибку и диск вылетает из рейда или что-то ещё происходит восстановительно-исправительное (что может сделать рейд), но производительность в итоге не проседает.

К сожалению, в случае с SATA надпись RAID Edition в данном случае ничего не значит, некоторые диски можно перевести в первый режим, некоторые нет.


При такой низкой скорости я бы попробовал сделать копию на другом сервере или VDS и подать ту же нагрузку и проверить результат.

---------- Добавлено 03.05.2016 в 01:02 ----------

Кстити, включите нужный элеваторный режим оптимизатора - elevator deadline или noop - возможно, это сгладит падение производительности при ресинке. Хотя при такой низкой потребности к скорости записи вряд ли изменения будут заметны.
__________________
Блог
Pilat вне форума   Ответить с цитированием
Старый 19.05.2016, 10:25   #29
Kpd
Академик
 
Регистрация: 12.07.2006
Сообщений: 3,180
Репутация: 68191

ТопикСтартер Re: Как часто делать md2_resync ?

Частично решил проблему с нагрузкой на диски.
Поставил vm.swappiness=0
(было 10)
recync-а ещё не было, но нагрузка от резервного копирования (по la) упала в 2 раза.
Kpd вне форума   Ответить с цитированием
Ответ



Опции темы

Быстрый переход


Регистрация Справка Календарь Поддержка Все разделы прочитаны