У меня есть VPS, который запускает несколько сайтов Opencart и по большей части очень хорошо выполняет задачу.
Спецификация:
ЦПУ
ПодлинныйIntel, Intel (R) Xeon (R) CPU E5-2665 0 @ 2,40 ГГц
Версия
Parallels Plesk Panel v11.5.30_build115130819.13 os_CentOS 6
Операционные системы
CentOS 6.2 (окончательная версия)
ОЗУ: 4ГБ
Однако у меня есть один клиент, который часто запускает популярные рекламные акции, что приводит к увеличению посещаемости их сайта, которая может составлять около 3000-4000 посетителей в течение 1-2 часов, многие из которых пытаются завершить процесс заказа.
Когда эти рекламные акции запускаются, я могу наблюдать, как объем оперативной памяти уменьшается до точки, когда она достигает 100% использования и приводит к потере всех сайтов и даже SSH-доступа к VPS, а журнал ошибок показывает:
[ошибка] (12) Невозможно выделить память: mod_fcgid: невозможно запустить / var / www / cgi-bin / cgi_wrapper / cgi_wrapper [предупреждение] (12) Невозможно выделить память: mod_fcgid: создать процесс / var / www / cgi-bin / cgi_wrapper / ошибка cgi_wrapper
Перезапуск Apache или VPS не помогает, и использование ОЗУ возвращается в норму только после того, как люди сдаются и перестают постоянно заходить на сайт. Даже увеличение ОЗУ до 6 ГБ не решило проблему, но я предполагаю, что это будет то же самое с любым разумным объемом ОЗУ.
Я сообщил об этом своему хозяину, который мне не помог. Они сказали, что оптимизировали работу Apache, но я все еще вижу ту же проблему с каждой рекламной информацией, вызывающей полное отключение.
После их оптимизации моя конфигурация Apache выглядит так:
IfModule prefork.c
StartServers 2
MinSpareServers 2
MaxSpareServers 5
ServerLimit 80
MaxClients 200
MaxRequestsPerChild 400
IfModule worker.c
StartServers 1
MaxClients 10
MinSpareThreads 1
MaxSpareThreads 4
Темы для ребенка 25
MaxRequestsPerChild 0
Я также только что заметил, что они отключили KeepAlive.
У этого же клиента в ближайшем будущем будет проводиться промо-акция, и я хотел бы разобраться в этом, чтобы сайт оставался активным на всем протяжении.
Мы будем очень благодарны за любые предложения, и, пожалуйста, спрашивайте, требуется ли дополнительная информация.
Заранее спасибо.
Вы используете APC? Если нет, я бы установил это и посмотрел, улучшится ли ситуация. Я бы также посмотрел на конфигурации php fcgi. Поскольку php запускается отдельно от apache под fcgi, я не верю, что ваши проблемы связаны с apache.
Я предлагаю одно или несколько из следующего: