Ajustes de configuración NGINX-FPM para magento

Estoy ejecutando un sitio web de comercio electrónico desarrollado en magento. Tengo 512mb RAM y 2.6 core2duo en el servidor. Cuando envío 50 solicitudes a la vez en mi sitio web, no responde, salvo algunas solicitudes. También he instalado barniz. Quiero saber la configuración óptima que quiero hacer para mi sitio web. He visto que PHP-FPM está tomando demasiada memoria y uso de la CPU.

Fondo

Usamos nginx y php5-fpm en ubuntu 12 en nuestra máquina de producción (máquina virtual VCenter, 4 núcleos, 8 GB ram). Nuestra instalación de magento es muy temática y extendida. El otro día, solo para patear, instalé todo desde cero en una caja VMWare con una instalación predeterminada de Magento 1.12 EE (necesitaba avisarles de un error). Solo digo esto para que sepas que tenemos nginx y php5-fpm en un entorno de producción.

Lo que estás preguntando es algo con lo que creo que a todos les cuesta usar nginx y php fpm … exprimiendo más rendimiento de él. Quiero decir, podríamos usar apache y php si no intentáramos boost el rendimiento del sitio ¿verdad? Hay muchas respuestas, opiniones y soluciones basadas en casos, pero le indicaré la guía que utilicé para configurar mi sistema …

http://www.if-not-true-then-false.com/2011/nginx-and-php-fpm-configuration-and-optimizing-tips-and-tricks/

Tomado de los comentarios del blog:

… Sin embargo, el problema es de hecho Magento, en lugar de la configuración del servidor. Magento es demasiado grande y demasiado pesado para cualquier entorno. El alojamiento de Magento es una tarea realmente tediosa y desagradable.

Es posible que no responda todas las preguntas que tenga, pero hay muchas cosas buenas que debe asegurarse de hacer … Como establecer worker_processes = cuántos núcleos tiene, etc.

Personalmente, una cosa con la que aún tengo problemas es que si la carga del servidor es muy alta (más de 5 a 10 visitas por segundo), los procesadores son procesados. No he resuelto completamente el problema, pero agregar un núcleo y golpear al ariete hizo una mella significativa. Puedo boost el RAM más, pero en este momento nuestra base de usuarios no está viendo ningún problema de rendimiento del sitio.

(Encontrado en otra publicación de blog del sitio 🙂

Magento hace un uso intensivo del subsistema de disco para muchas de sus operaciones. La E / S de disco es el mayor cuello de botella, junto a los núcleos (núcleos) de la CPU, al rendimiento óptimo de Magento.

Esta es la razón por la que Magento funciona tan mal en entornos de nube donde el almacenamiento se realiza en una SAN compartida con innumerables usuarios y bajo estrés en momentos aleatorios que causan un rendimiento inconsistente.

Los SSD (Discos de estado sólido) configurados en una matriz de discos RAID1 + 0 superan localmente a las unidades SAS de 15.5 K en la misma configuración RAID.

Una base de datos local también es la clave para un rendimiento máximo con Magento

Una base de datos remota introduce latencia debido a las llamadas al sistema y la saturación de la red. Si debe utilizar una base de datos remota, debe asegurarse de estar en una VLAN privada y no compartir una conexión de red saturada, que es común incluso para los proveedores de alojamiento más grandes. En los mejores entornos de red, la base de datos remota NO será tan rápida como la base de datos local por diversas razones.

La velocidad de la CPU y la cantidad de CPU también es increíblemente importante para el rendimiento óptimo de Magento. Puede hacerse una idea de la potencia de la CPU de gama alta que está utilizando en la siguiente URL: si la CPU no figura en la lista, el benchmark “Software PassMark” no la considera ‘high-end’;

http://www.cpubenchmark.net/high_end_cpus.html

Los servidores web basados ​​en rendimiento, como LiteSpeed, utilizan múltiples CPU (núcleos) como lo hace el servidor MySQL, con una configuración adecuada. El uso de un servidor web basado en el rendimiento puede mejorar significativamente el rendimiento de sus aplicaciones frente al software del servidor web Apache.

Intentar reescribir o convertir / comstackr Magento no es una solución, es una curita en el mejor de los casos. Se bloqueará cualquier actualización futura (sin una cantidad significativa de tiempo de desarrollo para reescribir y probar los cambios) y con cada actualización continuaremos viendo mejoras de velocidad. Los cambios principales a Magento NUNCA deben realizarse, los cambios principales en Magento NUNCA deben realizarse, esto derrota el modelo de OOP que emplea Magento.

Al final, como hemos dicho antes, Magento no puede lograr un rendimiento óptimo sin una inversión significativa en la infraestructura en la que se ejecuta la aplicación. Si está considerando ejecutar Magento y desea hacerlo en un proveedor de alojamiento económico, entienda que simplemente no puede lograr y no logrará el máximo rendimiento con esta aplicación.

Magento requiere recursos debido a su naturaleza compleja: no puede proporcionar los recursos necesarios en un proveedor de alojamiento económico ya que los costos de este tipo de sistema de hardware no son baratos.

Debería boost la memoria más de 512 m, ya que nginx + php-fpm y barnizar utilizan más que la memoria del sistema. conduzco desbordamiento y el proceso de php no puede suficiente ram para ejecutar