Las técnicas por aprender donde los cuellos de botella están en su aplicación de Web PHP-basado.
Debido al crecimiento increíble de PHP en la última pareja de años, está usándose ahora para tareas que van de las escrituras diminutas a las aplicaciones de Web de gran potencia. Algunas aplicaciones de Web contienen centenares de miles de líneas de código de PHP, y el hecho que PHP puede descascarar a estos niveles es un gran testamento a su plan y el Artefacto de Zend eficaz que realmente manejan PHP codifique la ejecución.
Claro, resultado de los proyectos más grande y más complejo en más carga en sus servidores, y cuando usted tira una base de datos en la mezcla que usted tiene los cuellos de botella de la actuación potenciales más aun para rastrear. Un guión típico podría ser usted ha agregado unos nuevos rasgos a una aplicación de Web y ahora ha estado viendo más servidor cargar y uso de memoria; así, las páginas parecen cargar más lentamente. ¿Qué usted puede hacer? Quizá usted puede permitirse el lujo de tirar el hardware más grande al problema, pero aun cuando ésa es una opción viable, usted también debe encontrar las partes de su código que está causando los retrasos y los perfecciona.
Varios factores pueden afectar la actuación de una aplicación de Web, incluso la Web servidor configuración, la actuación de la base de datos, la estructura de los datos, el plan de la aplicación y la aplicación de la aplicación. ¿Pero cómo usted encuentra los cuellos de botella en el primer lugar?
La respuesta es una técnica conocido como el actuación perfilar. Actuación que perfila las carreras su código en un ambiente controlado e ingresos una inscripción del informe las tales estadísticas como tiempo gastado dentro de cada función, cuánto tiempo cada pregunta de la base de datos toma y cuánta memoria se ha usado.
Haciendo actuación que perfila en su código, usted puede ver rápidamente donde usted puede estar perdiendo tiempo con la base de datos lenta pregunta o el código ineficaz. Teniendo esta información entonces le permite gastar su afinación de tiempo PHP y SQL dónde lo necesita la mayoría. Ninguna más estimación qué está pasando internamente: el actuación perfilando le da figuras duras.
Perfilando las herramientas
Se han desarrollado varios herramientas y diferentes para ayudar con el PHP para la actuación del perfil, incluso la Referencia (un proyecto de la PEAR), DBG, Xdebug y PHPDebugger Avanzado (otro proyecto de la PEAR).
Si usted es muy serio sobre apretar cada último ciclo fuera del código, debe investigar todo el benchmarking, porque ellos trabajan de las maneras diferentes y le permiten extraer tipos diferentes de información. Para ahora, voy concentrarse en APD, el Depurador de PHP Avanzado.
APD es un depurador escrito en el C por George Schlossnagle y Daniel Cowgill que cargan como una extensión al Artefacto de Zend. Funciona enganchando en el internals de Zend y PHP interceptando que funciona las llamadas, mientras permitiéndole hacer las cosas como medida función ejecución tiempo, las llamadas de función de cuenta, realizan backtraces de la pila y otras cosas del funky.
Instalando el APD
Actualmente, existen tres maneras principales para instalar APD en un sistema de Linux: la fuente y compilado por usted, use la PEAR o use el paquete de Debian. La última fuente siempre está disponible del APD el sitio de Web. Construyendo e instalarlo no son un proceso duro, pero usted necesita asegurarse que los varios PHP desarrollo recursos se instalan en su sistema. Por ejemplo, usted necesita los PHP C títulos, así como un programa llamado phpize que se usa para preparar el paquete como una extensión de Zend. Si usted decide ir esa ruta, asegúrese usted sigue las instrucciones en el README que incluye con la fuente.
Si usted usa la PEAR, incluido con PHP4.3+, usted puede instalar los módulos de PHP con el alboroto mínimo. Una vez más, las instrucciones llenas están disponibles en el sitio de APD que es parte del proyecto de la PEAR. El apoyo de la PEAR esta incluido en su versión de PHP, el resto debe ser la contestación a unas preguntas.
Método de la instalación cualquier que usted usa, debe tener la versión de CGI de PHP instalada, porque algunas de las herramientas del orden-línea incluyeron con APD son escrito en PHP y necesitan el parser para correr. Personalmente, yo ejecuto mis servidores de Web con la versión del módulo apache de PHP porque es muy más rápido, pero a eso no le importa. Simplemente instale la versión de CGI de PHP que usted va también y lejos. No necesita afectar su instalación del módulo apache de PHP; ellos pueden vivir lado a lado bastante alegremente.Su primera prueba
A estas alturas usted debe tener APD instalado en su servidor, junto con todo el otro material usual--el apache, MySQL o Postgres, sus escrituras de PHP, y resto cualquier que usted necesita ejecutar su aplicación de Web.Lo que esto hace es decirle a APD empezar un rastro en la ejecución de su escritura a ese punto y descargarlo fuera al disco en una situación del predefined que es fijo en el archivo de php.ini que usa el directorio apd.dumpdir. Si usted usara que mis Debian empaquetan, la situación debe ponerse a / el var/log/php4-apd /; si usted usó PEAR o compiló de la fuente, por favor verifique la documentación incluido.
Usuarios que han visto este tema también han visto...
- Como entrenar a tus afiliados
- Trabaja con RAW, olvídate del JPEG
- El mercado de las ideas
- Cómo funcionan los robots araña
- Cinco puntos sobre la usabilidad de tu blog
Información legal | Política de Privacidad | Contacte con nosotros
Otro proyecto de Factoría de Internet. Copyright© 2003-2011 Factoría de Internet S.L.. Todos los derechos reservados.