performance - mejor - ¿Qué significa el tiempo en la línea de tiempo de Google Chrome en el panel de red?
extensiones chrome android (3)
A menudo, al solucionar problemas de rendimiento utilizando el panel de red de Google Chrome, veo momentos diferentes y, a menudo, me pregunto qué significan.
¿Alguien puede validar que los entiendo correctamente?
- Bloqueo: tiempo bloqueado por la solicitud múltiple del navegador para el mismo límite de dominio (???)
- Esperando: esperando una conexión del servidor (???)
- Envío: Tiempo dedicado a transferir el archivo del servidor al navegador (???)
- Recepción: tiempo empleado por el navegador analizando y decodificando el archivo (???)
- Búsqueda de DNS: tiempo dedicado a resolver el nombre de host.
- Conexión: Tiempo dedicado a establecer una conexión de socket.
Ahora, ¿cómo alguien arreglaría largos tiempos de bloqueo?
Ahora, ¿cómo alguien arreglaría largos tiempos de espera?
Bloqueo : tiempo que la solicitud pasó esperando que una conexión ya establecida esté disponible para su reutilización. Como se dijo en otra respuesta, no depende de su servidor: este es el problema del cliente .
No estoy de acuerdo con la declaración anterior. Todo lo demás es lo mismo [la carga de trabajo de mi máquina]: mi navegador muestra menos tiempo de "bloqueo" para un sitio web y mucho tiempo de bloqueo para otro sitio web.
Entonces, si esperar a uno de los seis hilos + negociación del proxy ** es alto, es principalmente por el efecto de cascada de la lentitud del servidor O el mal diseño de la página [demasiadas veces enviado a través del cable].
** - ¡Lo que sea que signifique "Negociación Proxy!", nadie explica esto muy bien, particularmente cuando no hay un proxy local / CDN realmente involucrado
El envío es el tiempo empleado en cargar los datos / solicitud al servidor. Ocurre entre bloqueo y espera. Por ejemplo, si publico de nuevo una página ASPX, esto indicaría la cantidad de tiempo que tardó en cargarse la solicitud (incluidos los valores de los formularios y el estado de la sesión) al servidor ASP.
Esperando es el tiempo después de que se envió la solicitud, pero antes de que se haya recibido una respuesta del servidor. Básicamente, este es el tiempo dedicado a esperar una respuesta del servidor.
Recibir es el tiempo dedicado a descargar la respuesta del servidor.
Blocking es la cantidad de tiempo entre el subproceso de la interfaz de usuario que inicia la solicitud y la solicitud HTTP GET que se transfiere al cable.
El orden en que ocurren es:
- Bloqueo *
- Búsqueda de DNS
- Conectando
- Enviando
- Esperando
- Recepción
* El bloqueo y la búsqueda DNS pueden intercambiarse.
La pestaña de red no indica el tiempo de procesamiento.
Si tiene tiempos de bloqueo prolongados, la máquina que ejecuta el navegador funciona lentamente. Puede solucionar esto actualizando la máquina (más RAM, procesador más rápido, etc.) o reduciendo su carga de trabajo (apague los servicios que no necesita, cierre de programas, etc.).
Los tiempos de espera prolongados indican que su servidor tarda mucho tiempo en responder a las solicitudes. Esto tampoco significa:
- La solicitud tarda mucho tiempo en procesarse (por ejemplo, si extrae una gran cantidad de datos de la base de datos, se deben ordenar grandes cantidades de datos o se debe encontrar un archivo en un disco rígido que debe girar).
- Su servidor está recibiendo demasiadas solicitudes para manejar todas las solicitudes en un tiempo razonable (podría llevar .02 segundos procesar una solicitud, pero cuando tenga 1000 solicitudes habrá un retraso notable).
Los dos problemas (espera larga + bloqueo prolongado) están relacionados. Si puede reducir la carga de trabajo en el servidor mediante el almacenamiento en caché, agregar un nuevo servidor y reducir el trabajo requerido para las páginas activas, entonces debería ver mejoras en ambas áreas.
Puede leer una explicación oficial detallada del equipo de google aquí. Es un recurso realmente útil y su información se encuentra en la sección de la vista Línea de tiempo .
La sincronización de la red de recursos muestra la misma información que en la barra de recursos en la vista de línea de tiempo. Respondiendo a su pregunta:
- Búsqueda DNS : tiempo dedicado a realizar la búsqueda de DNS. (debe averiguar la dirección IP de site.com y esto lleva tiempo)
- Bloqueo : tiempo que la solicitud pasó esperando que una conexión ya establecida esté disponible para su reutilización. Como se dijo en otra respuesta, no depende de su servidor: este es el problema del cliente.
- Conexión : tiempo que tardó en establecer una conexión, incluidos los apretones de manos / reintentos TCP, la búsqueda de DNS y el tiempo de conexión a un proxy o la negociación de una capa de conexión segura (SSL). Depende de la congestión de la red.
- Envío : tiempo dedicado a enviar la solicitud. Depende del tamaño de los datos enviados (que en su mayoría es pequeño porque su solicitud casi siempre es de unos pocos bytes, excepto si envía una imagen grande o una gran cantidad de texto), congestión de la red, proximidad del cliente al servidor
- Esperando : tiempo transcurrido esperando la respuesta inicial. Este es principalmente el tiempo de su servidor para procesar y responder a su respuesta. Esto es lo rápido que su servidor puede calcular cosas, obtener registros de la base de datos, etc.
- Recepción : tiempo dedicado a recibir los datos de respuesta. Algo similar al envío, pero ahora obtiene sus datos del servidor (el tamaño de la respuesta es mayor que la solicitud). Por lo tanto, también depende del tamaño, la calidad de la conexión, etc.