Как вы уже догадались, у меня есть установка сервера с mod_php и Apache2 (prefork) с APC. Ежедневно сайт получает приличный объем трафика, максимум - 280-290 пользователей одновременно. Несколько дней назад я начал замечать проблемы «Can't Allocate Memory» с PHP, которых не было при низком трафике.
Общее решение для этого - увеличить лимит памяти для PHP в файле PHP.ini. Я хотел знать, как это повлияет на производительность и общую масштабируемость, когда я увеличу лимит памяти.
Емкость сервера: 8 ГБ ОЗУ, четырехъядерный процессор i7 (920)
StartServers 80 MinSpareServers 40 MaxSpareServers 60 MaxClients 250 MaxRequestsPerChild 200
Общее решение для этого - увеличить лимит памяти для PHP.
Нет. В некоторых случаях это может быть правильное решение, но вы не предоставили никаких подробностей своего анализа. То, что вы не знаете о последствиях увеличения предела памяти, означает, что ваш анализ причины проблемы может быть неправильным.
Как с исходным сборщиком мусора, так и с GC, проверяющим циклические ссылки, увеличение предела памяти снизит частоту сборки мусора, что приведет к тому, что в памяти будет храниться больше мусора. В результате (в некоторых случаях) это увеличивает проблемы нехватки памяти.
Вы не предоставили никакой реальной информации о том, сколько ресурсов использует ваша система / сколько доступно.
280-290 пользователей
Этот показатель в значительной степени не имеет отношения к емкости / производительности.
NB Я не прошу вас предоставлять информацию, необходимую для более полного анализа - чтобы дать обоснованную рекомендацию, это намного, НАМНОГО больше, чем должно быть в публикации здесь.
Короткий ответ - попробуйте и посмотрите, что произойдет с вашей производительностью / ошибками.
Более длинный ответ заключается в том, что вы, возможно, захотите взглянуть в другом месте - на свой код / сжатие / кеширование.