diagnóstico del rendimiento

7
Diagnóstico del rendimiento en aplicaciones Web Sin un buen diagnóstico no hay cura posible

Upload: expertos-en-ti

Post on 04-Aug-2015

1.003 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Diagnóstico Del Rendimiento

Diagnóstico del rendimiento en aplicaciones Web

Sin un buen diagnóstico no hay cura posible

Page 2: Diagnóstico Del Rendimiento

¿Porqué es importante?

Los Servidores Web tienen un límite en el número de peticiones concurrentes (Apache por defecto 256, Tomcat 200, etc)

No es recomendable hacer crecer demasiado el número de conexiones concurrentes por límites en el sistema operativo

Una reducción de un 50% del tiempo en las peticiones más comunes nos duplica el número de peticiones por segundo

Page 3: Diagnóstico Del Rendimiento

¿Cómo se consigue?

Mediante caracterización del tráfico real para poder evaluar la misma distribución de accesos. (30% imágenes, 20% PHP sin base de datos, 50% PHP tocando base de datos)

Recogiendo datos mediante un Profiler adecuado a la aplicación (PHP, Java, .Net, etc…)

Analizando los datos e identificando qué elementos proporcionarían una mejora más sustancial (optimizamos ROI en desarrollo)

Page 4: Diagnóstico Del Rendimiento

¿Qué es un Profiler?

Una herramienta que analiza el código ejecutado y nos da datos sobre tiempos y usos de cada función.

Ejemplo de webgrind, un visualizador de los datos extraidos por el profiler

Page 5: Diagnóstico Del Rendimiento

¿Tenemos los datos, ahora qué?

Identificar qué páginas y/o llamadas a función gastan más recursos

Identificar qué llamadas hacen uso de recursos finitos (conexiones a la BBDD, WebServices, disco, envío de correo, etc)

Analizar si son mejorables y en este caso dedicar los recursos a ello mejorando código, reduciendo o controlado llamadas a BBDD

Page 6: Diagnóstico Del Rendimiento

Entregable del diagnóstico

Informe de qué páginas o llamadas son más susceptibles de mejora

Estrategia de mejora recomendada para cada una y estimación de la mejora local y global (ganamos un 50% optimizando esta llamada pero representa sólo un 5% global)

Identificación de cuellos de botella en el acceso hacia otros servicios (BBDD, WebServices, etc)

Datos intermedios utilizados (caracterización de los usuarios, resultados no analizados de las herramientas, etc…)

Page 7: Diagnóstico Del Rendimiento

¡Muchas gracias!

Sergi Morales, CTO e: [email protected] w: www.expertosenti.com t: 668897684 (6688-XPNTI) l: www.linkedin.com/in/sergimorales