Wymagania systemowe Magento2 Limit pamięci PHP

16

Jakie są wymagania systemowe Magento 2 dotyczące limitu pamięci PHP ( limity zasobów:)memory_limit ?

Mam problemy ze znalezieniem tych informacji w wymaganiach systemowych, mimo że drugi kandydat do wydania został już wypchnięty.

hakre
źródło
Kiedy sprawdzono system z 2048M dla memory_limit, komentarz recenzentów brzmiał: „Zalecane dla waniliowego Magento 1024M”. To jest ok. Połowy października 2015
hakre

Odpowiedzi:

14

Oficjalne wymagania systemowe (a raczej: rekomendacje) to:

Zwiększ limit pamięci PHP do co najmniej 768 MB dla normalnej pracy lub 2 GB dla testowania.

Źródło: Zalecenia dla CentOS i Ubuntu

Zwiększę go tylko do wyższej wartości, jeśli napotkasz problemy, w których przekroczony jest limit pamięci. Następnie debuguj i napraw te problemy, a po powrocie ustaw limit pamięci z powrotem na normalny.

Fabian Schmengler
źródło
Moja praca z cronem nie działa, nawet ja ustawiłem limit pamięci do 768 MB
Vasilii Burlacu,
2
Więc? Jakiej odpowiedzi na to oczekujesz?
Fabian Schmengler,
1
Nie spodziewam się odpowiedzi, właśnie poinformowałem, że cron nie działa nawet z 768M. Otóż ​​to. Może być przydatny dla innych osób, które czytają tę stronę.
Vasilii Burlacu
OK, przepraszam za nieporozumienie. Ale oczywiście zależy to od tego, co robi cron. Mogą występować rozszerzenia wymagające optymalizacji.
Fabian Schmengler,
3

Właściwie memory_limitto zależy od Ciebie, musisz zobaczyć, jak zachowuje się Twoja aplikacja. Nie należy mylić dużych liczb. Każdy skrypt musi działać tak szybko, jak to możliwe i zajmować nie więcej niż 3-4 razy więcej pamięci na proces, co stanowi średnio 60 MB x 4 = ~ 300 MB. moim zdaniem

768mb to tylko środek ostrożności, więc twój serwer nie stopi się lub przestanie odpowiadać.

W niektórych okolicznościach może wykraczać poza, więc musisz debugować te przypadki. skonfiguruj bazę danych i stos internetowy.

MagenX
źródło
Limit pamięci PHP jest konfigurowany dla każdego procesu. Wiele odpowiedzi brzmi jak spekulacja. Pierwsze zdanie odnosi się tylko do przypadku, że to ja mogę go skonfigurować, ale to nie zależy ode mnie, niezależnie od przypadku, że powiedzmy, że domyślna konfiguracja 128M Magento odmówi działania. Czy sprawdziłeś konkretny numer 768M, który podałeś w odpowiedzi, że on działa? Na jakiej specyfikacji opiera się twoje obliczenie, czy możesz odnieść się do niego za pomocą hiperłącza i podać z niego jego części? Jak to dodaje się do podanej odpowiedzi?
hakre
po prostu nie rozumiesz - będzie działać z wartością domyślną, możesz nawet ustawić, -1że to po prostu zależy od twojego kodu magento i konfiguracji stosu. musisz sam do tego dojść, aby znaleźć właściwy limit.
MagenX
Proszę o wybaczenie, ale nie zapytałem, jak skonfigurować lub zmienić limit pamięci PHP. Jestem tego w pełni świadomy i jak to działa. Pytam o to, co sprzedawca oprogramowania Magento Commerce Version 2 określa jako limit pamięci. Jeśli na przykład ustawisz wartość -1, ale system, na którym działa Magento 2, ma na przykład tylko 128 MB, system z pewnością nie spełni wymagań systemowych. Mimo że ustawiłeś limit pamięci PHP na -1. Chodzi tutaj o prośbę o odniesienie. W swojej odpowiedzi nie podajesz konkretnego odniesienia do Magento 2.
hakre
Dałem ci wyjaśnienie, ta wartość nie jest stała lub podawana dokładnie do bajtu. w każdym razie, jeśli chcesz potwierdzić wymagania systemowe, musisz napisać do pomocy technicznej Magento.
MagenX
2

Magento 2 ogranicza użycie pamięci do 768M w głównym pliku .htaccess: https://github.com/magento/magento2/blob/2335247d4ae2dc1e0728ee73022b0a244ccd7f4c/.htaccess#L40
Jest to ograniczenie tylko do PHP dla pojedynczego żądania HTTP. Jeśli Twój sklep musi obsłużyć 10 żądań HTTP jednocześnie, potrzebujesz do 10 * 768 M = 7680 M pamięci tylko dla interpretera PHP (w rzeczywistości jest znacznie niższy z powodu użycia pamięci podręcznej, ale są pewne zadania wymagające dużej ilości pamięci, takie jak kompilacja, ponowne indeksowanie, niektóre integracje trzeciego systemu, które czasami w ogóle wyłączają limit pamięci i zużywają dużo pamięci).
Potrzebujesz także pamięci na inne środowisko programowe: MySQL, serwer WWW, oprogramowanie pocztowe, system operacyjny i tak dalej.

Mage2.PRO
źródło
1
10 HTTP żąda jednocześnie to trzeba do 10 * 768M = 7680M Whoa ... co sobota rano ... jeśli aplikacja kiedykolwiek bierze, że dużo pamięci, dobrze, to nie byłbym taki pewny jakości swoich rozszerzeń. ..
MagenX
czy kiedykolwiek przeczytałeś ten podręcznik ??? php.net/manual/en/ini.core.php#ini.memory-limit
MagenX