- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Пациент - виртуалка с неясной мне виртуализацией и установленный там nginx. 8 ядер, 48 гиг оперативки.
Число воркеров ставилось как 8 так и auto. Соединений на воркер от 1024 и более. keepalive от 0 и больше. Т.е. куча разных вариантов.
Собственно проблема - nginx стал в пиковое время впадать в задумчивость и переставать отвечать на соединения, т.е. висит в браузере waiting и по несколько минут. Без разницы, динамика или статика. htop показывает нулевую загрузку по ядрам, а вэб не отвечает. Ребут сервера помогает, но не на долго.
Днем около 1к соединений, трафик под 150Mb.
Хостер на вопросы о лимитах TCP соединений утверждает, что их нет.
Вопрос - куда копать ? Гугл находит похожие проблемы, но все без ответов. Т.е. не понятно как вообще определить из за чего проблема.
Виртуалка на основе какого то контейнера, ядро линукса общее на всех. Диски видны как tmpfs .
Добавьте правило в iptables (даже accept) для 80 порта
По счётчикам будет видно доходят ли вообще пакеты до nginx или уже умирают раньше, в ядре или в хост-ноде
Проблема воспроизводима? tcpdump'ом можно посмотреть с нужного адреса приходит на сервер пакет или нет.
Скорее всего дело не в самом nginx, а в бэкенде, либо приложении которое на нём работает. С самим nginx на опыте не встречал никогда таких проблем. А вот с бэкендом - php-fpm или апач, без разницы что у вас там - вполне может быть. Ну и сам бэкенд глючит тоже часто не просто так, а из-за кривизны приложения (cms). Хотя пишете "без разницы динамика или статика" - имеется в виду что голый html тоже виснет? Вот очень уж маловероятно подобное. Попробуйте таки направить траф на голый html сайт без бэкенда, работающий только на nginx, или хотя бы настроить серверное кэширование на уровне nginx и посмотреть что будет.
Установите какое-то средство мониторинга, например munin, и посмотрите наличие бутылочных горлышек.
По счётчикам будет видно доходят ли вообще пакеты до nginx или уже умирают раньше, в ядре или в хост-ноде
Как будет очередной затык, обязательно проверю. Тем более как другого варианта вроде и нет.
Хотя пишете "без разницы динамика или статика" - имеется в виду что голый html тоже виснет? Вот очень уж маловероятно подобное.
Именно так, даже статика не отдавалась. Т.е. в лог даже запрос не попадал.
В данные момент вроде как все наладилось, но начальная причина не ясна. Подозрение, что где то в виртуалке упиралось в какие то лимиты, но в какие не ясно.
Подозрение, что где то в виртуалке упиралось в какие то лимиты
Может быть совсем грустно, если "упиралось" ещё до виртуалки.. :\