Primero debe decidir qué está probando, ya sea solo el tiempo de representación de PHP o el tiempo de carga de la página del mundo real.
En cualquier caso, el uso de firebug no será confiable, ya que su conexión a Internet en sí misma podría ser el cuello de botella o el motivo de la inquietud.
PHP Render Time
Si solo está buscando ver si el tiempo de renderizado de PHP ha mejorado / cambiado, entonces la forma más precisa es usar la salida del perfilador de Magento.
En index.php
, comentar
Varien_Profiler::enable();
Entonces en
Admin> Sistema> Configuración> Desarrollador
Asegúrese de que el generador de perfiles esté habilitado.
Terminará con una salida tabular en la parte inferior de cada página (front-end y back-end) desglosando el tiempo de carga de la página, medido desde el punto de Mage::run()
inicio. La primera línea indicará el tiempo total de renderizado de PHP (dentro de Mage).
Esta será su cifra más precisa en términos de establecer si sus cambios en PHP están haciendo una diferencia en el tiempo de carga de la página, sin mencionar que identificará los cuellos de botella de rendimiento.
Tiempo de renderizado del servidor web PHP
El siguiente tipo de prueba es tener en cuenta los gastos generales del servidor web en sí (pero no la conectividad de última milla). Entonces, para que esta prueba sea precisa y no esté influenciada por el 'internet' en sí mismo, debe ejecutarla en el servidor web.
Utilizamos nuestra propia utilidad mage-perftest
(se puede encontrar más información aquí ), que puede probar el tiempo puro de renderizado de PHP, el tiempo de carga de la página del mundo real e incluso las pruebas de concurrencia.
Para probar solo el tiempo de renderizado del servidor web PHP, usaría (reemplace la URL en consecuencia)
./mage-perftest -u me-s1.sonassihosting.com -b
Esta prueba dará un desglose del tiempo de carga de la página (solo para el elemento PHP de la página, ignorando cualquier JS / CSS / Imágenes). La salida se parece a esto,
Test Summary
============
Total files: 1
Total downloaded: 4K
Avg. page weight: 4.00K
Total time: 0.035s
Min response: 0.035s
Max response: 0.035s
Avg. page response: 0.03s
Concurrency/Repeats: 1
Transactions/s 28.57
Test URL: me-s1.sonassihosting.com
Success rate: 1/1 (100.00%)
Tiempo de renderizado del servidor web del mundo real
El último tipo de prueba es el tiempo que lleva descargar la página completa (PHP + contenido estático). Nuevamente, puede usar mage-perftest
para hacer esto, por ejemplo.
./mage-perftest -u me-s1.sonassihosting.com
Evite cualquier servicio de prueba en línea como la peste
Existen algunas herramientas de prueba de velocidad en línea como GTMetrix, Pingdom, etc. Estas no le darán ningún tipo de resultado preciso para el perfil granular.
Tienen su lugar en términos de prueba de conectividad de red externa, pero son completamente inútiles como un medio para verificar el rendimiento real de PHP. Apéguese a las pruebas locales / en el servidor para esto.
Otras notas
Escribimos un artículo sobre pruebas remotas y por qué debería evitarlo,
http://www.sonassi.com/knowledge-base/magento-kb/why-siege-isnt-an-accurate-test-tool-for-magento- actuación/
Ejecutar Magento en un VPS es una mala idea. Otros pueden estar en desacuerdo, pero no es un entorno adecuado para una tienda Magento por varias razones, y hemos respondido MUCHAS preguntas en este sentido, aquí hay algunas
mage::dispatch::routers_match
ymage::dispatch::controller::action::predispatch
parece ser un cuello de botella, aunque no estoy seguro de cuál es la solución ... la búsqueda no ofrece mucha información.mage::dispatch::routers_match
, lo que representa 22s en una carga de páginas de 28s. En la misma carga, también haymage::dispatch::controller::action::predispatch
a los 22,CORE::create_object_of::Mage_Core_Model_Session
a los 21 yMage_Core_Model_Session_Abstract_Varien::start/start
a los 21. Estoy seguro de que hay algo padre / hijo en marcha, pero con elrouters_match
siendo el más largo, estoy suponiendo que esa es la matriz de los otros 20 segundos funcionesMage
lo tanto , tomará más tiempo ya que incluye todo,Routers_Match
es básicamente la siguiente función que llama, de la que se genera todo lo demás. No es el cuello de botella, pero sí lo está llamando (mira más abajo en la tabla). No abra más de 1 ventana si está perfilando, eso no va a lograr nada.Routers_Match
hay:DISPATCH EVENT:controller_action_predispatch
a las 21.0710 yOBSERVER: log
a las 21.0565Este es probablemente un problema del servidor y no un problema de Magento. Dependiendo del tipo de servidor que use, puede obtener un tiempo de carga de menos de un segundo. Incluso puede ejecutar pruebas más sofisticadas aquí: http://www.magespeedtest.com/ . También puede revisar la velocidad de otros proveedores de servidores allí también.
También recomendaría usar el informe en cascada de http://www.webpagetest.org/ y ver de dónde puede provenir exactamente su "lentitud". Lo dividirá en partes (como el tiempo que lleva descargar cada archivo css, js e imagen) que pueden ayudarlo a mejorar la velocidad.
Dicho esto, incluso si optimiza el código de Magento, css, js, imágenes y contenido al máximo, el servidor siempre será el mayor problema. Recomendaría usar un proveedor de alojamiento Magento, ya que tienen sus servidores más ajustados para ayudar a Magento. Personalmente, uso Nexcess, pero otros de los que he oído cosas buenas son Sonassi Hosting y Peer1.
Hay algunos artículos sobre cómo mejorar la velocidad, recomendaría leer las páginas blancas en el sitio web de Magento.
Si bien está más orientado a Enterprise, aún puede beneficiarse de muchos de los consejos. Además, ¡asegúrate de mantener actualizado a Magento! No debería caer más de dos versiones de la versión actual.
fuente