Pour certaines pages web, il n'est pas possible de dessiner la page avant que presque toute la page soit téléchargée, images comprises. Pour accélérer une telle page, voici quelques choses que vous pouvez faire :
- Utilisez le cache web (comme vous le faites déjà) : cela permet d'importer les images plus rapidement.
- Utilisez des machines plus rapides : une grande partie du temps peut être consacrée à la "composition" - c'est-à-dire, à la mise en forme de la page web pour l'affichage, et non à l'obtention des informations.
- Utilisez des navigateurs plus rapides : c'est la même chose que ci-dessus. Si vous utilisez IE5, essayez IE6 ou IE7. Si vous utilisez Firefox 2, essayez Firefox 3 ou Safari.
Par le passé, je naviguais avec Internet Explorer pour Macintosh (à l'époque du 68k). Je me souviens bien d'avoir vu l'icône "journal" qui vous demandait d'attendre pendant que IE calculait comment afficher la page (pas d'obtention de données : calcul...)
Une autre chose à prendre en compte : certaines pages demanderont explicitement à ne pas être mises en cache : il revient à l'administrateur du cache de décider si ces demandes seront acceptées ou refusées. Typiquement, il s'agit des pages qui changent fréquemment ou que l'administrateur web ne souhaite pas voir stockées ailleurs. Ainsi, sur une telle page, vous aurez un surcoût supplémentaire à prendre en compte car le cache web doit traiter la page pour votre compte, même s'il n'y a jamais eu de page dans le cache.
Je suis d'accord pour dire que l'analyse du trafic est un bon moyen de déterminer pourquoi les choses sont en attente. Quelle partie du flux réseau cause réellement le retard?
Wireshark (et tcpdump) disposent d'un grand nombre de filtres que vous pouvez utiliser pour nettoyer le trafic : la seule raison pour laquelle vous devrez vraiment attendre jusqu'à un moment calme est pour éviter d'avoir un énorme fichier de capture TCP. Cependant, vous pouvez obtenir un ensemble raisonnable de données en vous limitant au trafic réseau direct vers le proxy :
tcpdump -s 0 -n -w tcpdump.dat port 3128
(Le port 3128 est le port squid standard : utilisez celui qui est approprié pour vous.)
Avec Wireshark, vous pouvez filtrer instantanément en fonction d'un seul flux de trafic TCP : donc vous n'avez pas à vous soucier non plus du mélange de différents flux.
Regardez également les journaux dans /var/log/squid et examinez ce qui se passe avec la demande : provient-elle du cache ? Vient-elle du site distant ? Essayez des demandes répétées - la page s'affiche-t-elle plus rapidement après l'avoir exécutée une fois ?