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

Как определиться с модулем MPM (worker.c, prefork.c или что-то еще

У нас на одном сервере работает несколько сайтов. (CentOS, Hostgator "Elite") Некоторые сайты довольно большие, а наш основной сайт достаточно велик, чтобы Google проиндексировал> 1 000 000 страниц.

Я пожаловался HG (у меня есть управляемый выделенный сервер) на то, что некоторые изображения не загружаются, хотя они присутствуют на сервере. Обновление страницы обычно позволяет загружать эти изображения. Не всегда одни и те же изображения терпят неудачу, это несколько случайно. Я видел, как это происходило по крайней мере на 3 наших сайтах на этом сервере.

Они предложили мне изменить мой модуль MPM на prefork, потому что он немного по-другому обрабатывает память

Я нашел в Интернете совет, который поможет мне определить, что на моем сервере в настоящее время работает worker.c.

Некоторые изображения обслуживаются через скрипт php, который отправляет заголовок jpg, а затем выполняет readfile($filename); для обслуживания изображений, но я видел проблему не только с изображениями из этого скрипта.

Совет перейти на префорк - хорошая идея? Может ли это помочь с моей проблемой?

Worker MPM обычно будет намного более эффективным, чем Prefork (это «самый безопасный» и наиболее широко поддерживаемый MPM, но также обычно самый медленный и наименее сложный).

Первый вопрос, который вам нужно задать, - это ресурсы, потребляемые или доступные. Если сервер находится под минимальной нагрузкой (в частности, ЦП, ОЗУ и ввод-вывод), проблема, вероятно, в другом месте. Случайная смена MPM без значительного обоснования приведет к потере много времени.

я буду не предлагать сменить программное обеспечение, пока вы не подтвердите наличие проблемы с текущими настройками. Nginx очень эффективен, но также сильно отличается от Apache httpd. Вы потратите много времени на его настройку, и это может не решить проблему (если проблема не на вашем сервере).

В любом случае вы не можете использовать php (по крайней мере, как модуль apache) с worker, только как версию cgi. Я предлагаю обслуживать весь статический контент с помощью nginx, если это возможно.