Вимоги до системи 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.