netwind

Рейтинг
419
Регистрация
06.05.2007

Dimka, если nat не задействован, непонятно откуда взялся модуль. Ну значит попробуйте тогда по одному выгрузить последовательно модули, от которых зависит conntrack : получается, nf_nat, iptable_nat, а уже потом nf_conntrack_ipv4.

И убрать их из того места где они загружались.

Dimka, это не все правила. Лучше сразу смотреть вывод iptables-save, потому что есть еще nat и тд.

Dimka, ну а какие именно правила iptables у вас требуют conntrack ? может пересмотреть их необходимость и убрать ? тогда модуль выгрузится

lamma, это не лики - это переменные и буферы.

Хостерам, конечно, никогда mod_perl не был интересен и они его боятся.

WapGraf:
php-fpm, аналога которого нет для perl.

А полный аналог и не нужен.

mod_perl закрывает нишу производительных веб-приложений на perl. Причем, намного лучше php-fpm. Там инициализация приложения выполняется отдельно от обработки запросов.

php вытеснил perl, потому что php был лучше для небольших сайтов на shared. А большие вынуждены тянуть, то что использовали раньше.

Dimka, точно есть . Я бы попробовал выгрузить модуль, но вероятно у вас все же есть правила, от которых conntrack зависит.

Например, ограничение на число соединений с одного IP.

Ну тогда ключ может называться net.nf_conntrack_max и придется его увеличивать. По-умолчанию он как раз 64k, так что все сходится.

Там тоже своих таймаутов куча и он как бы сам по себе, потому что призван отслеживать чужие транзитные соединения на линукс-роутерах.

Но я бы пока не пытался эти параметры испортить, если можно просто лимит поднять.

lamma:
Я тоько один не понимаю почему дебаг падения сюкеля мы делаем через настройки другого совершенно левого демона?

Потому что он не падает в том смысле как это привыкли понимать программисты.

Перечитайте внимательно

Dimka:
"max clients is also limited by the number of socket connections available on the system (~64k)"
видимо, ошибочно?

Из контекста вырвано. Речь об исходящих соединениях.

Ну или какой-то старой системе.

Dimka:
Подскажите, что именно отслеживать? Поставил munin и добавил плагин nginx_status.

Да, вот это и еще нестандартный плагин tcp-states, на который ссылку я раньше давал. Все эти показатели полезно знать.

Dimka:
netstat при высоком keepalive 600 в nginx:

то есть 600 секунд в конфиге nginx ? там же по-умолчанию то 75.

Нужно совсем немного - 10 даже хватит. Зависит от специфики,но обычно суть этого keep-alive в том, чтобы последовательная загрузка элементов одной странички шла быстро .Держать соединение и ждать следующей странички в современном интернете , пожалуй, лишнее.

Dimka:
Поставил 20480 (для 4 worker_processes ). Или можно смело ставить 51200*4?

на мой взгляд - да. но если вы завысили keep-alive, зачем усугублять?

Dimka:
net.ipv4.ip_local_port_range="1024 65500"
Периодически при пиковой нагрузке - не могу достучаться до сайта. В этот момент по "ss -s" видно, что не хватает диапазона: 1024-65500.

По-моему, вы с неправильного вывода начали и всех запутали.

Этот лимит вам вообще мешать не должен. Чистому серверу http ведь эти порты вообще не нужны. Все входящие имеют значение локального порта = 80.

Это может оказывать влияние только если у вас еще и apache или еще какие-то необычные штуки требующие на каждое подключение исходящих подключений куда-то.

Может подробнее опишете ? Покажете этот самый netstat ss -s ?

Хотя все советы остаются в силе. В любом случае в такой нагруженной машине надо уменьшать число соединений как-нибудь, а worker_connections увеличивать.

И надо бы проверить не включен ли conntrack в iptables. Не нужен он, а лимит подключений создает равный net.ipv4.netfilter.ip_conntrack_max создает.

jano, ну так выводы можно почти сразу же сделать и выключать.

Запросов много? Они простые ?

От такого лога включенного постоянно будет еще больше тормозить

Всего: 6293