Вимоги до системи Magento2 Обмеження пам’яті PHP


16

Які системні вимоги Magento 2 щодо обмеження пам'яті PHP ( Обмеження ресурсів:)memory_limit ?

У мене є проблеми знайти цю інформацію в системних вимогах, незважаючи на те, що кандидат другого випуску вже був витіснений.


Коли було переглянуто систему з 2048M для пам'яті_limit, коментар рецензентів був "Для ванілі Magento 1024M рекомендується". Це приблизно. Середина жовтня 2015 р.
гакре

Відповіді:


14

Офіційними системними вимогами (а точніше: рекомендаціями) є:

Збільште ліміт пам'яті PHP принаймні до 768 Мб для нормальної роботи або 2 ГБ для тестування.

Джерело: Рекомендації для CentOS та Ubuntu

Я б збільшив його лише до більш високого значення, якщо у вас виникнуть проблеми, де досягнуто обмеження пам'яті. Потім налагоджуйте та виправляйте ці проблеми та при успішному встановленні обмеження пам'яті повертайте до нормального.


Моя робота з крон не працює, навіть я поставив обмеження на пам'ять до 768 Мб
Василь Бурлаку

2
Так? Якої відповіді ви на це очікуєте?
Фабіан Шменглер

1
Я не очікую відповіді на це, я просто повідомив, що cron не працює навіть із 768M. Це воно. Це може бути корисно іншим, хто читає цю сторінку.
Василь Бурлаку

Добре, вибачте за непорозуміння. Але, звичайно, це залежить від того, що робить крон. Можуть бути включені розширення, які потребують оптимізації.
Фабіан Шменглер

3

Насправді все memory_limitзалежить від вас, ви повинні побачити, як поводиться ваша програма. Не слід плутати велику кількість. Будь-який сценарій повинен працювати якомога швидше і займати не більше 3-4 разів його пам’яті за процес, що в середньому становить 60 МБ х 4 = ~ 300 МБ. ІМХО

768mb - це лише запобіжний захід, тому ваш сервер не розтане і не стане відреагувати.

За деяких обставин це може вийти за рамки, тому вам доведеться налагоджувати ці випадки. налаштування вашої бази даних та веб-стека.


Ліміт пам’яті PHP налаштовано на кожен процес. Також багато вашої відповіді звучить як спекуляція. І перше речення справедливе лише у випадку, коли я можу його налаштувати, але це не залежно від мене, незалежно від випадку, якщо, скажімо, конфігурація за замовчуванням 128M Magento відмовиться працювати. Ви перевірили конкретний номер 768М, який ви даєте у відповіді, що він працює? На якій специфікації базується ваш розрахунок, чи можете ви посилатися на це гіперпосиланням та цитувати його деталі? Як це додається до даної відповіді?
хакре

ви просто не розумієте - воно буде працювати зі значенням за замовчуванням, ви навіть можете встановити -1це просто залежить від вашого коду magento та конфігурації стека. ви повинні самі прийти до цього, щоб знайти правильну межу.
MagenX

Прошу пробачення, але я не питав, як налаштувати або змінити ліміт пам'яті PHP. Я це прекрасно знаю і як це працює. Я запитую про те, що виробник програмного забезпечення Magento Commerce Version 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 (насправді це набагато нижче через використання кешу, але є деякі завдання, які потребують пам’яті, такі як компіляція, реіндексінг, деякі інтеграції третьої системи, які іноді взагалі відключають його обмеження на пам'ять і використовують багато пам'яті).
Також вам потрібно трохи пам’яті для іншого програмного середовища: MySQL, веб-сервер, поштове програмне забезпечення, операційна система тощо.


1
10 HTTP запитів одночасно, то вам потрібно до 10 * 768M = 7680M WHOA ... що в суботу вранці ... якщо ваша програма коли-небудь займе стільки пам’яті, ну, то я б не був так впевнений у якості ваших розширень. ..
MagenX

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