%20ralentiza%20la%20carga%20de%20la%20p%C3%A1gina.png)
Contamos con una red pequeña (quizás 15 usuarios en horario comercial máximo, alrededor de 30 dispositivos) que administra la conexión a Internet y las líneas telefónicas.
El uso principal de la red es que los usuarios accedan a la interfaz de la base de datos alojada externamente y basada en la web con la que administran el negocio (clientes, ventas, facturas, etc., etc.). Esta interfaz de base de datos basada en web es una aplicación php/mysql, desarrollada durante el último año y medio. Como programador principal (si no el único), tengo acceso a todo lo relacionado con esta aplicación y nuestra red, desde nuestra solución de alojamiento hasta el código fuente y la elección de tecnologías.
Hace algunos meses, notamos una desaceleración realmente grave en aproximadamente el 5% de los clics realizados utilizando la interfaz de la base de datos. Lo que quiero decir es que la mayoría de los clics entregarán el contenido en uno o dos segundos y, a veces, uno de los clics tardará hasta un minuto en cargarse.
Lo que me deslumbra es
- no parece estar relacionado con el contenido de la página. Cargar la misma página una y otra vez funcionará el 95% de las veces, y un clic a veces tarda entre un 1000% y un 2000% más de tiempo en cargarse. cargar diferentes páginas una y otra vez tendrá los mismos resultados.
- la interfaz basada en web se enfrentasin ralentización cuando se accede desde fuera de la oficina. es decir, se ralentiza sólo cuando se utiliza detrás de nuestra red local.
- otras páginas web parecen no estar ralentizadas, pero detener la página retrasada y volver a cargarla funcionará bien.lo que me hace pensar que sucede durante unos segundos, bloqueando todos los clics realizados durante este umbral, pero no los realizados dos segundos después
- el sitio web utiliza jquery y jquery-ui, así como algunas otras bibliotecas (jquery cookie master, xdate). La lentitud ocurre si se cargan desde nuestros servidores o directamente desde jquery y ajax.googleapis.
Ante todo esto consulté a profesionales de redes, y finalmente cambiamos nuestro equipo de red, ahora usamos un firewall cisco asa-5505 y un switch Catalyst administrado de Cisco.
- Antes, notamos que los pings a google.com a veces caducaban o tardaban hasta 13000 ms en cargarse, mientras que normalmente tenemos un ping de 20 a 30 ms.
- También notamos al consultar a nuestro ISP que teníamos hasta800gbde subidas al mes! Gestionamos fotos y archivos pesados, pero 800 GB están lejos de ser un uso normal. Durante un tiempo, pensamos que un alto tráfico de carga en la red podría impedir que la página cargara recursos. Pudimos ver con el historial de nuestro ISP que la lentitud y las cargas masivas parecen ocurrir más o menos al mismo tiempo. No puedo decir sin lugar a dudas qué pasó primero, parecen suceder ambos en la misma semana.
- Obviamente tuvimos numerosos errores de pérdida de paquetes.
- No puedo decir con certeza a qué protocolos afecta o no la lentitud. No experimenté directamente un error en la descarga y no he recibido ninguna queja de los usuarios de que la descarga haya fallado, pero la carga de archivos a ftp a través de netbeans se verá afectada. Sin embargo, los usuarios suelen
transmit
transferir archivos a nuestros clientes y viceversa, y no he tenido quejas de que los archivos no se carguen correctamente o de que los clientes reciban archivos corruptos.
Lamentablemente, que no haya tenido quejas no significa que no haya sucedido, ya que la comunicación con los usuarios es algo tensa en esos momentos. Yo diría que la red lenta tiene una causa [juego de palabras intencionado].
Cuando los expertos que contratamos vinieron a instalar las nuevas piezas en la red, hicieron algo de configuración y monitoreo y ahora nuestro ping ha vuelto a la normalidad y los errores de pérdida de paquetes ocurren con mucha menos frecuencia, hasta el punto en que creemos que son solo Paquete normal perdido a través de Internet. Además por lo que podemos ver (solo han pasado unos días) las subidas gigantescas se han detenido.
sin embargo, el 5% de los clics todavía tardan mucho en cargarse.
Intenté depurar con la pestaña net de Firebug para ver qué parte del sitio web se cargaba lentamente. El servidor en sí responde entre 200 y 800 ms, dependiendo de la complejidad de la página, lo que parece estar bien. La mayoría de las imágenes se cargan bien, las bibliotecas también, pero cuando ocurre la lentitud, una o más de esas imágenes o bibliotecas esperarán una eternidad antes de cargarse.no siempre es la misma biblioteca o imagen
Mi pensamiento es que de alguna manera, al cargar imágenes y bibliotecas para mostrar la página, la carga de la red impedirá que los recursos lleguen a su destino correctamente.
¿Cómo puedo precisar qué impide que se cargue un recurso específico, ya sea una imagen o una biblioteca js?
Carezco de las habilidades técnicas para usar Wirehark u otras herramientas de red avanzadas (desde mi humilde punto de vista), pero las aprenderé si es necesario. Dicho esto, el monitoreo en este punto parece irrelevante, no quiero que sea lento, sé que es lento. Quiero saber¿Qué impide que los recursos lleguen a sus ordenadores de destino en nuestra red local?.
Respuesta1
Por lo tanto, sin acceder realmente a su(s) red(es) y diagnosticar en detalle con usted, una respuesta aquí probablemente será más bien "le indicará una dirección" y verá si funciona.
Dicho esto, adopto una especie de enfoque de la navaja de Occam cuando trato este tipo de cosas.
Usted dijo:
"La interfaz basada en web no se ralentiza cuando se accede desde fuera de la oficina. Es decir, se ralentiza sólo cuando se utiliza detrás de nuestra red local".
Esto aquí, si es realmente exacto, es la pieza a abordar.
El problema DEBE estar entonces en algún lugar dentro de esa "red local". NO está en la aplicación/servidor alojado externamente; de lo contrario, los mismos problemas podrían replicarse desde otra ubicación.
¿Entonces, dónde? Al parecer, ya has intercambiado algunas piezas de equipo de red sin ningún resultado.
Esto es lo que le sugeriría hacer, lo cual puede parecer simple, pero trabaje desde el punto externo más lejano de su red hacia atrás:
- Tome una computadora portátil que NUNCA haya estado en la LAN local, que no sea parte de un dominio, etc. y conéctela directamente al ISP de la red local. Directamente es la clave. Coloque una computadora portátil directamente en la red del ISP sin un firewall o similar en la combinación y vea qué tipo de respuestas/rendimiento obtiene y compárelo con su buena configuración externa conocida que funciona bien.
- Si no ve problemas en el paso 1, mueva la computadora portátil una capa hacia atrás, conéctela directamente al firewall ASA y luego pruebe nuevamente a través del firewall.
- Si no hay problemas en el punto 2, regrese a otra capa, esta vez detrás del conmutador administrado.
- Si no hay problemas en el punto 3, entonces sabrá que no es un problema de red.
Y así sucesivamente (probar con un cliente que tiene "problemas" externos, etc.) hasta que al menos pueda decir objetivamente qué/dónde ocurre el problema, incluso si no sabe por qué o específicamente qué lo está causando en un momento determinado. "capa" particular. Luego comienzas una inmersión más profunda en esa "capa" específica, por así decirlo.
Respuesta2
Probablemente necesitará usar nmap (o wirehark, por ejemplo) para inspeccionar la red local; puede ayudarlo a encontrar una computadora con Windows que tenga un virus y envíe miles de solicitudes arp de spam, o un usuario que use un cliente bittorrent o lo que sea que pueda saturar su red local o su carga de Internet
La otra opción es que la mayoría de los ISP están lejos de ser perfectos. . . Quizás a veces el ISP tenga alguna pérdida de paquetes o problemas de estabilidad de carga. Instalar una herramienta de monitoreo como fumar y monitorear un objetivo en Internet podría ayudarlo a ver esto (pérdida de paquetes, carga lenta, ping lento) y también permitirle ver cuándo sucede eso (cada vez que John Doe está en la oficina y conecta su computadora a la red?