Magento 2.x PHP memory_limit Anforderungen

11

Ich bemerkte , dass Magento 2.1 Handbuch empfiehlt memory_limit=2Ginphp.ini . Das ist eine verrückte Menge an Speicher, ist dieser Speicher nicht pro HTTP-Anforderung zulässig? Ich bezweifle, dass es einen Hosting-Anbieter gibt, der diese Menge an Speicher für PHP-Skripte bereitstellt, und Magento ist für Shared Hosting sicherlich nicht geeignet.

Ist das vielleicht ein Betrag für Einrichtung und Migration? Wird diese Menge wirklich für die Produktion benötigt?

Ich fand auch in der Dokumentation:

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

Produktionsempfehlungen werden nicht erwähnt. Was wird für die Produktion empfohlen?

MarkE
quelle

Antworten:

8

Wie das von Ihnen gefundene Dokumentations-Snippet erklärt, 2Gist das Speicherlimit für alle möglichen Anwendungsfälle. Einige Vorgänge (insbesondere Befehlszeilenvorgänge wie Einrichten, Testen und Kompilieren) können je nach Größe und Komplexität Ihrer Installation viel Speicherplatz beanspruchen.

Einige Dinge zu beachten:

  1. memory_limitist die maximale Speichermenge, die eine bestimmte PHP-Anforderung beanspruchen darf, bevor sie beendet wird. Es ist nicht die Gesamtmenge an Speicher, die jede Anforderung benötigt. In der Praxis benötigen die meisten Anfragen nach vorne viel weniger Speicher (wahrscheinlich 60 MB oder weniger für die meisten CMS-Seiten, Kategorien, Produkte), wobei einige Ausreißer (Checkout) je nach Integration, Anpassung usw. ein Mehrfaches mehr benötigen.
  2. Auf einigen Servern können Sie andere Speicherbeschränkungen für Webanforderungen als in der Befehlszeile festlegen. In diesem Fall sollten Sie ein CLI-Limit von 2Gund ein Web-Limit von 768Moder weniger haben.
  3. Magento selbst versucht, über die Regeln in .htaccessund pub/.htaccess: php_value memory_limit 756Mund in .user.ini: ein allgemeines Standardlimit von 768 MB durchzusetzen.memory_limit = 756M
  4. Auf der Seite " Technologiestapelanforderungen ", die Sie wahrscheinlich in Bezug auf mindestens 2 GB gesehen haben, geht es um den gesamten Systemspeicher , nicht um das PHP-Speicherlimit. Wenn Sie versuchen, Magento2 auf einem virtuellen privaten Server mit weniger als 2 GB RAM (einschließlich Swap) auszuführen, werden Sie eine schlechte Zeit haben.
  5. Eine dedizierte Umgebung ist immer besser als Shared Hosting, aber Magento2 funktioniert mit Shared Hosting. Magento arbeitete intensiv mit einigen gängigen Hosting-Anbietern zusammen, darunter GoDaddy, um One-Click-Installationen zu realisieren. Es gibt auch Magento-spezialisierte Hosts wie Nexcess, die ein höheres Maß an Shared Service für ein paar Dollar mehr anbieten.
Ryan Hoerr
quelle
Zu Punkt 4: Das Zitat des OP aus dem Dokument "Erforderliche PHP-Einstellungen", nicht die Tech-Stack-Anforderungen. devdocs.magento.com/guides/v2.1/install-gde/prereq/… Sie empfehlen das Testen und Installieren mit einem 2-GB-Speicherlimit.
unbestimmter
Ich möchte .user.inider Liste der Dateien hinzufügen , die Magento verwendet / erstellt, um dieses Limit durchzusetzen. Sowohl in der Wurzel als auch in pub/.
Bart Friederichs
Eine empfohlene 2G-Umgebung unterscheidet sich erheblich von 2G pro Anfrage! Ich kann mir nicht vorstellen, dass Letzteres für eine geschäftige Site geeignet ist. Und selbst wenn Befehlszeilen-PHP-Operationen 2G verbrauchen, ist dies äußerst ineffizienter Code.
MarkE