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

Ошибка mod_fcgid связана с задержкой сервера?

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

Я веду очень популярный веб-сайт, и после того, как я сделал несколько сообщений в твиттере и фейсбуке более чем 2 миллионам поклонников и подписчиков, мне показалось, что сервер действительно тормозит и напрягается.

Сервер имеет 2 ядра ЦП и 4 ГБ оперативной памяти, жесткий диск на 100 ГБ и работает под управлением Wordpress в качестве основного веб-сайта. Wordpress получил более чем достаточно памяти для работы, и я просто хотел знать, почему у нас наблюдается такая задержка на нашем сервере даже в пиковые времена с нашими высокими характеристиками.

Google Analytics показала на сайте около 200-250 человек (с использованием аналитики в реальном времени)

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

[Среда, 30 января, 16:07:18 2013] [предупреждение] [клиент 92.235.67.138] mod_fcgid: невозможно применить слот процесса для / var / www / cgi-bin / cgi_wrapper / cgi_wrapper, referer: URL

что именно это означает, и как я могу это решить, имеет ли это какое-либо отношение к задержке?

Это означает, что вы попадаете в FcgidMaxProcesses limit (по умолчанию 100).

Если ваш сервер привязан к ЦП - что должно быть в случае Wordpress (где база данных должна работать правильно, т. Е. Правильно проиндексирована, возможно, потребляет умеренный объем ввода-вывода, но все еще использует очень мало ЦП) - это не будет возможность обслуживать более двух запросов одновременно, поскольку у вас два процессора.

Если вы превысите этот предел, разделение времени (также известное как планировщик) на процессорах значительно увеличит время обработки ваших запросов. В этом случае потребность напрямую измеряется «средней нагрузкой» (запустите команду «w»). Если это 4.0 и у вас 2 процессора, запрос, который обычно занимал бы 1 секунду, потребует 2 секунды. И так далее. Повторяю, это верно, если ваш сервер привязан к процессору; проверьте использование ЦП через верх, если он сообщает ~ 100% нас (ЦП / пользователь), вот и все.

Как показывает практика, я не устанавливаю FcgidMaxProcesses более чем в 2 или 4 раза больше числа ядер ЦП на сервере. Превышение этого предела просто замедлится. Это означает, что некоторые входящие запросы отклоняются (клиенты видят 503 или 504), чтобы ваш сервер работал в приемлемых условиях.

Поэтому вам может потребоваться сэкономить часть процессора (использовать более агрессивное кеширование, установить php-apc и т. Д.) Или добавить несколько процессоров. Если вам нужна более подробная статистика процессора для оптимизации в вашем приложении, вы можете использовать http://forge.bearstech.com/trac/wiki/PhpTop которую я написал именно для этого.