2009-03-04 5 views
0

J'ai créé une simple application de navigation d'images JSF, et j'ai un problème avec firefox.Firefox demandant des images lentement

L'application elle-même s'exécute dans Tomcat. Les images sont stockées dans un répertoire qui est servi par Apache. J'ai 9 images qui apparaissent sur une page. Les serveurs sont sur une machine distincte du client. Lorsque j'essaie de charger la page dans Firefox, généralement 6 des images se chargent presque instantanément (< 500ms). Les trois autres prendront entre 15 et 20 secondes pour charger. En regardant les logs apache, il semble que firefox ne demande pas ces trois images avant que les 15-20 secondes ne se soient écoulées - c'est-à-dire que je vois 6 demandes en même temps, puis 15 secondes plus tard les trois autres. J'ai essayé le site dans Internet Explorer, et IE n'a pas ce problème; Il charge tout les 9 photos tout de suite. J'ai essayé quelques machines différentes, et j'ai les mêmes résultats. Le html est rendu très rapidement, < 200ms, donc je ne pense pas que ce soit un problème JSF (d'autant plus que les images sont servies depuis Apache). Les numéros ne sont pas toujours les mêmes - parfois, il va charger 8 images, parfois 7, parfois le deuxième lot de demandes viendra tous en même temps, et parfois il en chargera 2 de plus, qu'un de plus, etc. Je ne suis pas sûr que ce soit un réglage firefox, ou un bug, ou s'il y a quelque chose de côté serveur que je peux faire, mais j'ai pensé que je le lancerais et verrais si quelqu'un a des idées à essayer.

Si elle aide, voici une ligne de journal apache de Firefox

192.168.1.30 - - [04/Mar/2009:14:25:40 -0500] "GET /work/DSCF0185_thumbnail.jpg HTTP/1.1" 200 7902 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6 (.NET CLR 3.5.30729)" 

et un de IE

192.168.1.30 - - [04/Mar/2009:14:34:14 -0500] "GET /work/DSCF0179_thumbnail.jpg HTTP/1.1" 304 - "http://192.168.1.83:8080/app/browse.jsf" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.2; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 1.1.4322; MS-RTC LM 8; Windows-Media-Player/10.00.00.3990; FDM; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)" 

Modifier Je suis les horaires de Firebug - il est montrant que toute la demande est (par exemple) 18 secondes, avec 17,9 secondes "données de réception", et le reste pris en file d'attente. Je ne vois pas la requête dans le journal Apache jusqu'à la fin de cette 17,9 secondes, ce qui me porte à croire que c'est une chose firefox, d'autant plus que IE ne montre pas le problème. Si c'était dans le serveur, je m'attendrais à voir le problème dans les deux navigateurs.

La mise en pipeline dans firefox est désactivée.

Comme cela a été souligné, mon journal IE montre qu'il frappe le cache - mon erreur, attrapé la mauvaise partie du fichier journal. Voici une ligne de journal propre - même après un cache effacé, IE ne montre pas les mêmes problèmes que firefox.

192.168.1.30 - - [04/Mar/2009:15:52:18 -0500] "GET /vantagework/DSCF0189_thumbnail.jpg HTTP/1.1" 200 5805 "http://192.168.1.83:8080/vantage/browse.jsf" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.2; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 1.1.4322; MS-RTC LM 8; Windows-Media-Player/10.00.00.3990; FDM; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)" 

Répondre

0

Il s'avère que cela a été causé par ma configuration apache. Certains ajustements d'ajustement ont été faits, et revenir à la configuration apache out of the box a résolu le problème.

3

console « Net » Utiliser Firebug pour vérifier si elle est firefox ou le serveur Web, comme votre serveur Web pourrait prendre, il est temps d'accepter les connexions.

console « Net » Firebug vous montrera quand il commence à demander des choses, et vous donner une ventilation détaillée des différentes parties de demander l'image (mise en attente, etc etc) -

0

Selon vos extraits de journaux, IE récupère l'image du cache, Firefox l'obtient du serveur. Donc, s'il y a un problème avec la configuration du serveur qui fournit l'image lentement, vous ne verrez qu'un comportement similaire dans IE si vous effacez d'abord le cache, donc j'essaierai de vérifier que les images non mises en cache prennent des quantités différentes de temps à télécharger entre Firefox et IE.

L'autre chose que je vérifierais est de voir si vous avez activé pipelining dans Firefox. Si vous le faites, je vous suggérerais de le désactiver, cela pourrait causer un problème pour votre serveur.