Magento2 Системные требования PHP Ограничение памяти

16

Каковы системные требования Magento 2 относительно ограничения памяти PHP ( Resource Limits:)memory_limit ?

У меня проблемы с поиском этой информации в Системных требованиях, несмотря на то, что второй кандидат на выпуск уже выдвинут.

hakre
источник
Когда система с 2048M для memory_limit была рассмотрена, комментарий от обозревателей был «Для Vanilla Magento 1024M рекомендуется». Это ок. Середина октября 2015 г.
хакре

Ответы:

14

Официальные системные требования (точнее: рекомендации):

Увеличьте ограничение памяти PHP как минимум до 768 МБ для нормальной работы или до 2 ГБ для тестирования.

Источник: Рекомендации для CentOS и Ubuntu

Я бы увеличил его до более высокого значения, если вы столкнетесь с проблемами, когда предел памяти достигнут. Затем отладьте и исправьте эти проблемы и установите предел памяти в нормальное состояние в случае успеха.

Фабиан Шменглер
источник
Моя работа cron не работает, даже если я установил ограничение памяти в 768 МБ
Василий Бурлаку
2
Так? Какой ответ вы ожидаете на это?
Фабиан Шменглер
1
Я не ожидаю ответа на него, я просто сообщил, что cron не работает даже с 768M. Вот и все. Это может быть полезно для других людей, которые читают эту страницу.
Василий Бурлаку
ОК, извините за недоразумение. Но, конечно, это зависит от того, что делает cron. Там могут быть расширения, которые нуждаются в оптимизации.
Фабиан Шменглер
3

На самом деле memory_limitвсе зависит от вас, вы должны увидеть, как ведет себя ваше приложение. Не путайте с большими числами. Любой сценарий должен работать максимально быстро и занимать не более 3-4 раз своей памяти на процесс, что в среднем составляет 60 МБ x 4 = ~ 300 МБ. по моему мнению

768mb - это всего лишь мера предосторожности, поэтому ваш сервер не потеряет работоспособность и не перестанет отвечать на запросы.

В некоторых случаях это может выходить за рамки, поэтому вы должны отладить эти случаи. настроить вашу базу данных и веб-стек.

MagenX
источник
Ограничение памяти PHP настраивается для каждого процесса. Также многие ваши ответы звучат как домыслы. И первое предложение относится только к случаю, что я могу его настроить, но это не мое дело, несмотря на случай, если, скажем, по умолчанию конфигурация 128M Magento откажется работать. Вы проверили конкретный номер 768M, который вы даете в ответ, что он работает? На какой спецификации основаны ваши расчеты, не могли бы вы сослаться на нее с помощью гиперссылки и процитировать ее основные части? Как это добавить к данному ответу?
Хакре
Вы просто не понимаете - это будет работать со значением по умолчанию, вы даже можете установить -1его, это просто зависит от вашего magento-кода и конфигурации стека. Вы должны сами прийти к этому, чтобы найти правильный предел.
MagenX
Прошу прощения, но я не спрашивал о том, как настроить или изменить ограничение памяти PHP. Я прекрасно знаю об этом и как это работает. Я спрашиваю о том, что производитель программного обеспечения Magento Commerce версии 2 определяет как ограничение памяти. Например, если вы установите -1, но система, на которой работает Magento 2, имеет только 128 МБ, эта система, безусловно, не будет соответствовать системным требованиям. Даже если вы установите ограничение памяти PHP на -1. Речь идет о том, чтобы спросить ссылку. В своем ответе вы не даете Magento 2 конкретную ссылку.
Хакре
Я дал вам объяснение, это значение не является постоянным или дано с точностью до байта. в любом случае, если вам нужно подтвердить системные требования, вы должны написать в службу поддержки magento.
MagenX
2

Magento 2 ограничивает использование памяти до 768M в основном файле .htaccess: https://github.com/magento/magento2/blob/2335247d4ae2dc1e0728ee73022b0a244ccd7f4c/.htaccess#L40
Это ограничение только для PHP для одного HTTP-запроса. Если вашему хранилищу нужно обслуживать 10 HTTP-запросов одновременно, то вам нужно до 10 * 768M = 7680M памяти только для интерпретатора PHP (на самом деле это намного меньше из-за использования кэша, но есть некоторые задачи с интенсивным использованием памяти, такие как компиляция, переиндексация, некоторые интеграции с 3-мя системами, которые иногда вообще отключают ограничение памяти и используют много памяти).
Также вам нужно немного памяти для другой программной среды: MySQL, веб-сервер, почтовое программное обеспечение, операционная система и так далее.

Mage2.PRO
источник
1
10 HTTP запросов одновременно , то вам необходимо до 10 * 768M = 7680M Вау ... какая субботу утром ... если ваше приложение всегда принимает , что много памяти, ну, тогда я не был бы так уверен в качестве расширений. ..
MagenX
Вы когда-нибудь читали это руководство ??? php.net/manual/en/ini.core.php#ini.memory-limit
MagenX