У меня (только) 512 МБ свободного места. Единственное, что работает на моем VPS, - это PHP / MySQL и поверх него Wordpress. Никакого почтового сервера или любого другого приложения, только Wordpress и стек LAMP.
Как решить, сколько памяти отдать PHP и Wordpress? Прямо сейчас PHP разрешено иметь 128 МБ, насколько безопасно увеличить его? Я попытался ответить на этот вопрос в Google, но так и не нашел ответов.
Как уже сказал Крейг Уотсон, вам следует не возиться с ограничением памяти PHP, если в этом нет необходимости.
В любом случае невозможно правильно определить размер сервера без глубокого понимания вашей рабочей нагрузки. Я предлагаю вам смоделировать реалистичную нагрузку и тем временем контролировать распределение / использование ресурсов вашего сервера.
Для чего важно, 512 МБ - это очень мало для любого производственного сервера. Фактически, их едва ли можно использовать даже для тестирования.
TL; DR - Не надо увеличьте свои пределы памяти ради этого. Для стандартного приложения PHP, такого как WordPress, 128 МБ огромный и должно хватить на 90% ваших потребностей.
Однако здесь есть несколько важных фактов:
В соответствии с Документация PHP для max_memory
вариант:
Это устанавливает максимальный объем памяти в байтах, который разрешено выделить сценарию. Это помогает предотвратить использование плохо написанных сценариев, которые занимают всю доступную память на сервере.
Важно отметить, что этот параметр не устанавливает объем памяти, доступный для все PHP-процессы - устанавливает максимум доступная память для один PHP-процесс.
Когда Apache получает запрос на страницу PHP, он разветвляет процесс PHP, который завершается, как только его работа завершена. Любая память, использованная во время этого запроса, затем возвращается в ОС, и весь цикл начинается снова со следующего запроса.
Вам следует никогда нужно настроить max_memory
настройки, если вы не видите ошибки «Недостаточно памяти» от самого PHP, и это обычно происходит только тогда, когда вы:
Если вас интересует настройка производительности, вам следует взглянуть на Apache MaxClients
и связанные параметры в prefork
модуль.
Я обычно резервирую 50 МБ для ядра и других системных процессов, а остальное добавляю для Apache и MySQL - есть различный онлайн гиды подробно описывая, как это сделать (я настоятельно рекомендую вам прочитать), но общая идея такова:
top
и проверьте, сколько памяти используется вашим средним процессом Apache (это RES
столбец)MaxClients
вариант к этому номеру.Заметка я упомянул одновременные подключения выше, а не посетителей на вашем сайте. Это не одно и то же.
Вы измеряете. Вы запускаете его на своем рабочем месте в виртуальной машине с аналогичными характеристиками и проводите нагрузочный тест. Вот так просто. Учитывая, что любой полуприличный планшет может запускать визуализацию, это тоже не проблема.