domingo, 10 de agosto de 2014

Time to first byte en Sharepoint 2013

Time To First Byte o TTFB es una medida que se usa muy a menudo para evaluar la respuesta del servidor. Cuando se solicita una página (GET), el server devuelve un ACKs (acknowledgement) de la solicitud al usuario. Mientras tanto el servidor procesa el request, cuando el servidor envía el primer paquete de datos al cliente, ese tiempo entre que se envío el ACK y el primer paquete de datos, se llama TTFB (Time to first Byte)

image

Importante: no siempre un tiempo corto indica buena performance, por ejemplo, cuando se usa gzip para comprimir el request envíado al cliente, se suele tener TTFB altos, pero una excelente performance. Esta medida nos permite tener una idea donde puede estar el problema, pero siempre se debe evaluar otros parámetros, por ejemplo: latencia de la red. Les recomiendo el el post sobre Message Analyzer:

http://todosharepoint.blogspot.com.ar/2014/07/evaluar-la-performance-de-la-red.html

http://todosharepoint.blogspot.com.ar/2014/07/evaluar-la-performance-de-la-red_13.html

http://todosharepoint.blogspot.com.ar/2014/07/evaluar-la-performance-de-la-red_4920.html

En este post le voy a mostrar cómo puedo calcular el TTFB con IE, Fiddler, y Chrome

En IE, presiono F12 y voy a la solapa de network

image

Después elijo el request que hice sobre la página, y selecciono el tab de “DETAILS”

image

Después selecciono el tab de “Timings”

image

El atributo “Request” es el que nos indica el TTFB (time to first byte)

Con Fiddler se debe seleccionar el request y sacar la diferente entre “ServerGotRequest” y “ServerBeginResponse”. En este caso fue 20:05:33.915 - 20:05:34.199 = 0.284 ms. Como pueden ver varía de los tiempos de IE, posiblemente ya estaba cacheado el DNS y la solicitud en el Server.

image

En chrome se debe seleccionar Network, y ver el parámetro “Waiting”

image

Importante: cuando el pool del Web Application esté detenido o se haya hecho un recicle del pool, el TTFB  suele ser alto.

Recomendación: registra en tu documentación de la granja los tiempos de TTFB de una página standart y todos los tiemposdel request (ej: response time), de esta manera tendrás un parámetro de consulta cuando tengas problemas de latencia sobre Sharepoint.

Tip adicional: usaremos Microsoft Visual Round Trip Analyzer (http://www.microsoft.com/en-us/download/details.aspx?id=21462 ) para evaluar el network round trip entre el cliente y el servidor. Requiere tener instalado Netmon 3.4.

Hago una captura con Netmon accediendo a la página de Sharepoint

image

Guardo el archivo .cap

image

Después abro Microsoft Visual Round Trip Analyzer, y elijo el archivo .cap guardado previamente.

image

image

La solapa de Analysis nos da un par de parámetros o reglas que se aplican al registro de paquetes de red. Si pones el mouse arriba de la regla, te da más información

image

image

image

Si pones el mouse arriba de la regla te da más información:

image

image

En la solapa de “All Files”, nos da más información. Ej: Time to 1st Byte

image

También información de los frames.

image

Mucha de la información de  Netmon y Microsoft Visual Round Trip Analyzer, se juntaron en el nuevo Message Analyzer. http://www.microsoft.com/en-us/download/details.aspx?id=40308

Links útiles:

Script de Powershell para generar monitorear por un período de tiempo: http://blogs.msdn.com/b/besidethepoint/archive/2010/05/01/calculate-time-to-first-byte-with-powershell-script-ping-url.aspx 

Psping para evaluar latencia: http://blogs.msdn.com/b/igorpag/archive/2013/12/15/azure-network-latency-test-and-sql-server-optimization.aspx

http://msdn.microsoft.com/en-us/magazine/dd188562.aspx

No hay comentarios:

Publicar un comentario