Назад | Перейти на главную страницу

Пытаемся найти узкое место… 60 тыс. Посетителей на месте

Я знаю, что это будет сложно, но я хочу попробовать маршрут вопросов и ответов.

У меня есть сайт Wordpress, который в настоящее время посещают одновременно 60 000 человек.

Я использую EC2 m3.xlarge, php/php-fpm 5.5.10, nginx 1.4.7, php-apc.

Для плагина кеширования я использую WP-Super-Cache.

Замечаю очень медленное время отклика, много 502 ошибок, плюс ... У меня в журнале nginx масса таких ошибок:

10319#0: *57132 connect() to unix:/tmp/php5-fpm.sock failed (11: Resource temporarily unavailable) while connecting to upstream

Я не понимаю, что за горлышко бутылки ...

Для моих настроек ... ive в основном исчерпал все мои знания + часы поиска в Google ...

Я не знаю, какие из них слишком высокие или низкие, я попытался настроить их в меру своих возможностей ...

Я даже толком не знаю, как найти проблему. Когда я просматриваю медленный журнал, это просто много случайных вещей, вероятно, потому что все идет медленно ... не только одно.

думаю pm.max_children = 100 слишком мал для 60 тысяч одновременных посетителей. Даже если посетитель нажимает ссылку в среднем только один раз в минуту, вам нужно будет генерировать 1000 просмотров страниц за секунду (60000/60).

У вас 12 ГБ неиспользуемой памяти - установите например pm.max_children = 500. Может быть, даже выше - в зависимости от того, сколько оперативной памяти необходимо для генерации среднего запроса. Наблюдайте за использованием ОЗУ и соответствующим образом настройте количество детей.

Некоторые инструменты для мониторинга и построения графиков могут быть полезны для определения узких мест. Мы используем http://munin-monitoring.org/ Munin извлекает статистику из большинства известных сервисов, а также системные показатели, и он работает почти сразу на современных дистрибутивах.

Вы используете 8 nginx worker_processes 8, когда у вас всего 4 ядра? Я бы предложил использовать 3, а затем разрешить оставшееся ядро ​​процессора для других машинных задач.