Огромное спасибо за советы.
Еще обнаружил проблему.
При более менее активных дисковых операциях, начинает подвисать nginx. Мне кажется, что процесс nginx блокируется при записи лога (лог нужен).
Логи достигают до 10-15 Гбайт в сутки (отключить не могу, но могу уменьшить на 30%).
Вот так выглядит лог проверки доступности сайта (числа - миллисекунды), если запустить на сервере копирование 10ГБ файла.
[time] All time: Dns Connect Send Wait Receive
[2016-03-13 03:09:18] 179: 0 0 44 45 89
[2016-03-13 03:09:20] 189: 0 0 47 44 96
[2016-03-13 03:09:34] 7252: 0 0 43 7007 200
[2016-03-13 03:09:37] 1970: 0 0 46 1831 91
[2016-03-13 03:09:41] 179: 0 0 44 44 89
[2016-03-13 03:09:51] 7770: 0 0 44 7007 718
[2016-03-13 03:09:54] 180: 0 0 45 44 89
[2016-03-13 03:09:56] 165: 0 0 41 41 81
Тоже копирование, но с ionice -c3
[2016-03-13 03:38:03] 178: 0 0 44 44 88
[2016-03-13 03:38:05] 178: 0 0 44 44 89
[2016-03-13 03:38:15] 4199: 0 0 44 4065 89
[2016-03-13 03:38:17] 178: 0 0 44 44 88
[2016-03-13 03:38:20] 177: 0 0 44 44 88
[2016-03-13 03:38:25] 1437: 0 0 40 1315 81
[2016-03-13 03:38:28] 162: 0 0 40 40 81
Я так понимаю, задержки когда каждый процесс nginx пытается записать лог.
Логи пишутся по 64Кб: access_log ... buffer=64k;
error_log без указания buffer
Гарантированная скорость 1 Гбит/с?
В каком ДЦ будет?
kovalkov, у FastVPS можно арендовать этот сервер?
Intel® Core™ i7-6700 Quad-Core Skylake
Оперативная память: 64 ГБ DDR4
Жёсткие диски: 2 x 250 ГБ SATA 6 Гбит/с SSD
Подключение: 1 Гбит/с порт
Гарантировано: 1 Гбит/сМесто для резервных копий: 100 ГБ
http://ru.hetzner.com/hosting/produkte_rootserver/ex41sssd
nf_nat - получилось отключить, iptable_nat - не дает.---------- Добавлено 11.03.2016 в 17:38 ----------
Все запросы (почти) статика, без бакэнда.---------- Добавлено 11.03.2016 в 17:54 ----------netwind, как мне кажется, очень верно указал причину - модуль conntrack.
При уменьшении в sysctl net.ipv4.netfilter.ip_conntrack_tcp_timeout****** стало легче.
Было net.netfilter.nf_conntrack_count = 312231, сейчас до 40.000
Забыл спросить.
После уменьшения таймаутов net.ipv4.netfilter.ip_conntrack_tcp_timeout_***** при выводе стат с ip_conntrack и было очень много с [UNREPLIED]:
2416 ESTABLISHED [UNREPLIED]
53289 SYN_SENT [UNREPLIED]
Это нормально?
Хочу сделать это во время минимального наплыва посетителей. А чем лучше тестить? Чем создавать нагрузку? Мне кажется, что ab не потянет.
Может быть проблема больше из-за того, что много уникальных IP коннектится к сайту (до 35-40К IP в минуту)? Или это не имеет значения, кто создает 40к коннектов в минуту: несколько IP или много?
Большое спасибо за ответы и советы.
1. ничего важного не теряю без этих модулей?
2. может ли вообще отвалиться сеть при попытке их выгрузки?
iptables-save
---------- Добавлено 08.03.2016 в 10:45 ----------fail2ban стоит недавно, и до него бывали проблемы. Поставил, т.к. надоели многомегабайтные логи подбора доступа.
iptables -L -n -v (заменил IP XXX)
Опустил все таймауты net.ipv4.netfilter.ip_conntrack_tcp_timeout_***** - провисать и выпадать по таймауту стало меньше.
Стал net.netfilter.nf_conntrack_count = 49574 (вместо 312231)