Ver Mensaje Individual
  #15 (permalink)  
Antiguo 26/09/2015, 15:29
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años
Puntos: 320
Respuesta: Acelerar carga de una web

Otra regla que puede ser de utilidad es que todo archivo cuyo tamaño sea menor a 1.4kb debe ser fusionado con otro de mayor tamaño, de lo contrario el overhead de transferencia se vuelve muy grande en relación al contenido.
Aun así, preferiblemente, ningún archivo debiera superar los 140kb (payload de 10 tramas ethernet).
Dos archivos de 140kb paralelizables se descargan aproximadamente en la mitad del tiempo que uno solo de 280kb y escala mucho mejor en la concurrencia.

Otra tecnica que disminuye mucho los costos de tranferencia, la carga del servidor y acelera la velocidad es el uso de multicast IPV6, pero esto solo es posible cuando se cuenta con IPV6 en el servidor y el visitante también esta utilizando dicho protocolo, lo que permite es que si 10 visitantes están pidiendo "style.css" el servidor responda una única vez con un multicast enviando el archivo a los 10 lugares en una única tranferencia simultanea, es decir, al servidor le entran 10 peticiones pero hace una unica respuesta para todos, con ipv4 se establecen 10 conexiones y se transfiere 10 veces el mismo archivo ya que el servidor debe responder a lo cada uno individualmente en vez de responder a todos, ademas, esto permite en ciertos casos respuestas "anticipadas" del servidor, si un cliente de argentina se une a un multicast de un archivo que viene de china y lo pide, la respuesta sale de china y va viajando hacia argentina, si mientras ocurre eso un visitante de uruguay se une al multicast del mismo archivo, el uruguayo recibira antes que el argentino el archivo (suponiendo que la ruta elegida para la tranferencia pase primero por uruguay y de ahi valla a argentina, es solo una suposición ilustrativa eh) con lo cual, recudiste dramáticamente la velocidad de carga cuando el numero de visitas simultaneas aumenta.

Otra forma de aumentar la velocidad es configurar y utilizar el protocolo http2, que entre otras cosas, permite al servidor responder con varios archivos en simultaneo a una misma petición ¡incluso con archivos que no se solicitaron todavía! por ejemplo, supongamos que un cliente pide el archivo "header.css", tu sabes que la pagina tiene un footer y que el css esta en "footer.css", si te pide el header es muy problable que pronto pida el "footer.css", asi que te anticipas a la petición y envías multiplexados ambos archivos, el resultado es que el navegador tendrá la respuesta a "footer.css" antes incluso de hacer la petición.
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios

Última edición por NSD; 26/09/2015 a las 15:37