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


16

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

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


Когда система с 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 - это всего лишь мера предосторожности, поэтому ваш сервер не потеряет работоспособность и не перестанет отвечать на запросы.

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


Ограничение памяти 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, веб-сервер, почтовое программное обеспечение, операционная система и так далее.


1
10 HTTP запросов одновременно , то вам необходимо до 10 * 768M = 7680M Вау ... какая субботу утром ... если ваше приложение всегда принимает , что много памяти, ну, тогда я не был бы так уверен в качестве расширений. ..
— MagenX

Вы когда-нибудь читали это руководство ??? php.net/manual/en/ini.core.php#ini.memory-limit
— MagenX
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.