У Apache могут появиться симптомы как они, особенно отправляемые заголовки, но никакие данные, если Ваша система повредила ядро sendfile поддержка. Это стоит экспериментально добавить
EnableSendfile Off
к Вашей конфигурации.
Все эти настройки связаны с балансом, насколько высоко вы можете их получить, не рискуя исчерпать память и сбой сервер, или когда ваши процессы будут убиты родительским vps, что, возможно, именно поэтому вы получаете SegFaults.
Обычно, когда я оптимизирую сервер, я запускаю сценарий mysql tuning-primer.sh, чтобы получить представление Максимальный объем памяти, который MySQL может использовать:
https: // launchpad. net / mysql-tuning-primer
Затем для предварительного форка я бы умножил MaxClients на php memory_limit, чтобы получить представление о том, сколько памяти Apache + PHP может использовать на максимальном уровне. Это приблизительные оценки, но после того, как вы это сделаете много, вы как бы почувствуете это.
Я стараюсь, чтобы общее количество этих 2 было примерно в пределах максимальной памяти сервера, если ваш VPS не имеет раздел подкачки Я бы определенно попытался сохранить его ниже, чем максимальный объем оперативной памяти по нескольким причинам:
1) Другие процессы на сервере будут использовать память
2) Некоторые сценарии php на сервере могут использовать ini_set для изменения memory_limit для себя.
Если вы предоставите /etc/my.cnf и php memory_limit, я могу предложить вам несколько хороших настроек.
edit: Я просто хотел упомянуть, что знаю, что вы с использованием worker, а не prefork, применимы те же концепции, но worker должен иметь дело с потоками, а не только с MaxClients, поэтому prefork был лучшим примером. Я должен был бы изучить настройки после получения запрошенной информации, чтобы дать вам хороший совет
Вы можете попробовать apache2buddy.pl скрипт для настройки настроек apache для вашего веб-приложения и системы.
Еще один способ забыть о проблеме — создать роевой кластер Docker с одним узлом и контенеризировать ваше приложение — docker убьет контейнер apache в случае сбоя памяти и запустит его заново...