Вимоги Malimo 2.x PHP memory_limit


11

Я помітив, що інструкція Magento 2.1 рекомендує memory_limit=2Gвphp.ini . Це божевільний об'єм пам'яті, чи не дозволяється пам'ять на HTTP-запит? Я сумніваюся, що є хостинг-провайдер, який забезпечує такий об'єм пам'яті для скриптів PHP, і, безумовно, робить Magento непридатним для спільного хостингу.

Це, можливо, сума для налаштування та міграції? Чи справді ця сума потрібна для виробництва?

Я також знайшов у документації:

Set the PHP memory limit.
Our detailed recommendations are: 
Compiling code or deploying static assets, 756M 
Installing and updating Magento components from Magento Marketplace, 2G 
Testing, 2G

Тут не згадуються виробничі рекомендації. Що рекомендується для виробництва?

Відповіді:


8

Як пояснюється знайдений вами фрагмент документації, 2Gобмеження пам’яті охоплює всі можливі випадки використання. Деякі операції (зокрема операції командного рядка, такі як налаштування, тестування та компіляція) можуть займати значну кількість пам'яті залежно від розміру та складності вашої установки.

Деякі речі, які слід зазначити:

  1. memory_limit- це максимальний об'єм пам'яті, який запит PHP дозволено займати до його припинення. Це не загальна кількість пам'яті, яку займе кожен запит. На практиці більшість запитів на фронтальну сторону займуть набагато менше пам’яті (можливо, 60 Мб або менше для більшості CMS-сторінок, категорій, продуктів), а деякі аутлайнери (замовлення) забирають у кілька разів більше залежно від інтеграції, налаштування тощо.
  2. Деякі сервери дозволяють встановлювати різні обмеження пам'яті для веб-запитів порівняно з командним рядком. Якщо так, у вас має бути обмеження CLI 2Gта веб-ліміт 768Mабо менший.
  3. Сам Magento намагається застосувати ліміт 768M за замовчуванням всередині плати за допомогою правил в .htaccessі pub/.htaccess:, php_value memory_limit 756Mі в .user.ini:memory_limit = 756M
  4. Сторінка « Вимоги до стеку технологій », яку ви, мабуть, бачили, що стосується мінімуму 2 Гб, говорить про загальну системну пам’ять , а не обмеження пам’яті PHP Якщо ви спробуєте запустити Magento2 на віртуальному приватному сервері з менш ніж 2 ГБ оперативної пам’яті (включаючи своп), вам буде погано провести час.
  5. Виділене середовище завжди буде кращим, ніж спільний хостинг, але Magento2 працює над спільним хостингом. Magento активно працював з деякими загальними хостинг-провайдерами, включаючи GoDaddy, щоб зробити реальні установки одним кліком. Також є Magento-спеціалізовані хости, такі як Nexcess, які надають більш високий рівень спільного обслуговування на кілька доларів більше.

Щодо пункту 4: цитата ОП у документі "Необхідні параметри PHP", а не вимоги щодо технічного стека. devdocs.magento.com/guides/v2.1/install-gde/prereq/… Вони рекомендують протестувати та встановлювати з обмеженням 2 Гб пам'яті.
невизначений

Я хотів би додати .user.iniдо списку файлів, які Magento використовує / створює для забезпечення цього обмеження. І в корені, і в pub/.
Барт Фрідеріхс

Рекомендоване середовище 2G значно відрізняється від 2G на запит! Я не можу уявити, що останні є життєздатними для насиченого сайту. І навіть якщо операції PHP командного рядка споживають 2G, що є надзвичайно неефективним кодом.
MarkE
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.