Requisitos del sistema Magento2 Límite de memoria PHP

16

¿Cuáles son los requisitos del sistema de Magento 2 con respecto al límite de memoria PHP ( Límites de recursos:)memory_limit ?

Tengo problemas para encontrar esta información en los Requisitos del sistema a pesar de que el segundo candidato de lanzamiento ya se ha eliminado.

hakre
fuente
Cuando se revisó un sistema con 2048M para memory_limit, el comentario de los revisores fue "Para Vanilla Magento 1024M recomendado". Esto es ca. Mediados de octubre de 2015.
Hakre

Respuestas:

14

Los requisitos oficiales del sistema (o más bien: recomendaciones) son:

Aumente el límite de memoria PHP a al menos 768 MB para el funcionamiento normal o 2 GB para las pruebas.

Fuente: Recomendaciones para CentOS y Ubuntu

Solo lo aumentaría a un valor más alto si encuentra problemas donde se alcanza el límite de memoria. Luego, depure y solucione estos problemas, y vuelva a establecer el límite de memoria en normal cuando tenga éxito.

Fabian Schmengler
fuente
Mi trabajo cron no funciona, incluso puse el límite de memoria en 768 MB
Vasilii Burlacu
2
¿Entonces? ¿Qué tipo de respuesta esperas?
Fabian Schmengler
1
No espero una respuesta, solo informé que cron no se ejecuta incluso con 768M. Eso es. Puede ser útil para otras personas que leen esta página.
Vasilii Burlacu
OK, perdón por el malentendido. Pero, por supuesto, esto depende de lo que esté haciendo el cron. Puede haber extensiones involucradas que necesiten optimización.
Fabian Schmengler
3

En realidad, memory_limitdepende totalmente de usted, debe ver cómo se comporta su aplicación. No se confunda con grandes números. Cualquier secuencia de comandos debe funcionar lo más rápido posible y ocupar no menos de 3-4 veces su memoria por proceso, que es 60 MB x 4 = ~ 300 MB en promedio. En mi humilde opinión

768mb es solo una precaución, por lo que su servidor no se derrumbará ni dejará de responder.

En algunas circunstancias, puede ir más allá, por lo que debe depurar estos casos. Configure su base de datos y pila web.

MagenX
fuente
El límite de memoria PHP se configura por proceso. Además, gran parte de su respuesta suena a especulación. Y la primera oración es correcta solo para el caso de que soy yo quien puede configurarlo, pero no depende de mí, independientemente del caso con que digamos que la configuración predeterminada de 128M Magento se negará a funcionar. ¿Ha verificado el número concreto 768M que da en la respuesta que está funcionando? ¿En qué especificación se basa su cálculo, puede hacer referencia a él con un hipervínculo y citar las partes subyacentes? ¿Cómo se agrega a la respuesta dada?
Hakre
simplemente no lo comprende: funcionará con el valor predeterminado, incluso puede configurarlo -1, simplemente depende de su código magento y la configuración de la pila. usted mismo debe llegar a esto, para encontrar el límite correcto.
MagenX
Perdón, pero no he preguntado cómo configurar o cambiar el límite de memoria de PHP. Soy perfectamente consciente de ello y de cómo funciona. Le pregunto qué especifica el proveedor del software Magento Commerce Versión 2 como límite de memoria. Si configura a -1, por ejemplo, pero el sistema en el que está ejecutando Magento 2, por ejemplo, tiene solo 128 MB, ese sistema ciertamente no cumpliría los requisitos del sistema. Aunque establezca el límite de memoria PHP en -1. El punto en cuestión aquí es la solicitud de referencia. En su respuesta, no le da a Magento 2 una referencia específica.
Hakre
Te di la explicación, este valor no es constante ni se da exactamente hasta un byte. de todos modos, si necesita confirmar los requisitos del sistema, debe escribir al soporte de magento.
MagenX
2

Magento 2 limita su uso de memoria a 768M en el archivo principal .htaccess: https://github.com/magento/magento2/blob/2335247d4ae2dc1e0728ee73022b0a244ccd7f4c/.htaccess#L40
Este es el límite solo de PHP para una sola solicitud HTTP. Si su tienda necesita atender 10 solicitudes HTTP simultáneamente, entonces necesita hasta 10 * 768M = 7680M de memoria solo para el intérprete PHP (en realidad es mucho menor debido al uso de caché, pero hay algunas tareas que requieren mucha memoria como compilación, reindexación, algunas integraciones de tercer sistema que a veces deshabilitan su límite de memoria y usan mucha memoria).
También necesita algo de memoria para otro entorno de software: MySQL, servidor web, software de correo, sistema operativo, etc.

Mage2.PRO
fuente
1
10 solicitudes HTTP simultáneamente, entonces necesita hasta 10 * 768M = 7680M WHOA ... qué sábado por la mañana ... si su aplicación alguna vez toma tanta memoria, bueno, entonces no estaría tan seguro de la calidad de sus extensiones. ..
MagenX
¿Alguna vez has leído ese manual? php.net/manual/en/ini.core.php#ini.memory-limit
MagenX