Accueil > Forum > > > > Servlet rapide en local mais très lent à distance
Servlet rapide en local mais très lent à distance
dimanche 29 juin 2008 à 21:15:32 |
Servlet rapide en local mais très lent à distance

thedestiny
|
Bonjour, Cela fait plusieurs jous que je planche sur le problème et je coince un peu donc je viens soliciter votre aide. Je développe une application client (J2SE pour le riche, GWT pour le light) qui doit récupérer des informations continue au sein d'une base de données MySQL en interrogeant une servlet (requête HTTP classique) qui se chargera de récupérer les informations de la base, de les mettre en forme puis de générer la réponse sous la forme d'un fichier XML qui sera parsé par les différents clients. Ca reste une architecture 3 tiers relativement classique. Mon problème, c'est qu'en local, l'envoi d'une requête + traitement prend entre 60 et 200ms selon le volume d'informations. Mais après quelques tests, à distance ça se gatte car on ne descend pas sous la barre des 9000ms, comme-ci les clients devaient impérativement attendre 9 secondes avant de continuer l'execution. J'ai essayé divers solutions sans succès: ajout du header Connection: close, au niveau du servlet, passage de Glassfish à Tomcat, envoi de la connexion en utilisant directement les sockets au lieu de la classe URL, rien y fait. Donc si vous avez des choses à me faire tester je vous en serai très reconnaissant! Amicalement, The Destiny
|
|
dimanche 29 juin 2008 à 21:26:56 |
Re : Servlet rapide en local mais très lent à distance

DARKSIDIOUS
|
Salut, 9 secondes, ca correspond à l'envoi de la requête au serveur, le traîtement de cette dernière, l'exécution de ta servlet (connection à la base, récupèration des données, formattage des données au bon format) et enfin, l'envoi de la réponse au client pour qu'il puisse la traîter.
en local, les 200 ms ne correspondent qu'à l'exécution de la servlet. Tu aura beau optimiser au maximum l'éxécution de la servlet, tu n'y gagnera pas les 9000 ms !
Ce que tu oublie de nous dire, c'est : est-ce que les données transitants entre le serveur et le client sont importantes... si tu dois envoyer plusieurs Mo par exemple, ca n'a rien d'étonnant !
Tu devrais plutôt envisager d'optimiser le volume de données allant du serveur vers le client : utilisation de JSon à la place de XML par exemple, faire des requêtes AJAX asynchrone plutôt que des requêtes HTTP "classique" synchrone, etc. ______________________________________ DarK Sidious
|
|
lundi 30 juin 2008 à 09:39:47 |
Re : Servlet rapide en local mais très lent à distance

thedestiny
|
Merci pour la réponse déjà ;)
En gros tu résumes bien le mécanisme: Envoi d'une requête POST/GET - Traitement de la requête par le servlet - Interrogation de la bdd (la connexion se fait au lancement de la servlet) - Formattage des données - Génération du contenu RDF (format basé sur XML) - Parsing de la réponse par le client - Affichage des infos
Les données qui transitent sont actuellement de l'ordre de la 10aine voir 100aine de ko.. A l'avenir il pourrait éventuellement y avoir des réponses de plusieurs mo d'où mon inquiètude... (les derniers servlets que j'ai fait, même s'ils étaient moins "lourd" ne prenait pas autant de temps à s'executer)
Le protocole HTTP est imposé du fait que le servlet doit pouvoir communiquer avec le client malgré les proxy, les routeurs, les pare-feu etc... qui trainent sur le réseau.
A priori, rien que pour se connecter à la servlet, cela prendrait 4 secondes :/
Amicalement, The Destiny
|
|
lundi 30 juin 2008 à 12:49:54 |
Re : Servlet rapide en local mais très lent à distance

DARKSIDIOUS
|
Salut, Donc tu n'as guère le choix : cela vient de l'infrastructure du réseau en lui même : 4 secondes pour que la servlet commence son éxécution, et 4 secondes pour la requête de retour, + quelques ms pour le traîtement par la servlet... tu tombe sur environ 9 secondes bizarrement ;)
AJAX, ce n'est que des requêtes HTTP, mais se faisant de façon asynchrone. Ca ne changera pas grand chose au niveau proxy, parefeu, etc, mais ca te permettra surtout de faire des requêtes HTTP un peu plus légères. ______________________________________ DarK Sidious
|
|
Cette discussion est classée dans : local, servlet, informations, rapide, distance
Répondre à ce message
Sujets en rapport avec ce message
pb de servlet [ par orely15081982 ]
Bonjour,j'ai un pb pour laisser mon appli java en local .sur le serveur elle se lance nickelmais en local la console java me relance plein d'erreurs..
configuration des routeurs à distance [ par itry ]
Objectif : Permettre la configuration de routeurs du labo cisco à partir d'un poste distant sur le réseau interne de l'INT. Principe : Chaqu
ouverture de fichier depuis une servlet [ par gregxyz ]
Bonjour, j'ai un formulaire dans une page jsp qui redirige vers ma servlet, dans cette servlet je genere un flux excel avec POI et ensuite je
lire une image renvoyer par une servlet avec un navigateur??? [ par asetti ]
slt, j'ai une servlet qui créé une courbe avec jFreeChart et qui l'a renvoie sous forme de graphique. (mon navigateur l'insere avec les balise d'image
courbe dans un servlet [ par progrima ]
Bonjour tout le monde , dans le cadre d'un projet fin d'etude je dois réaliser un traitement qui extrait des données d'une base de donnée et qui affic
un EJB peut-il faire accès à une Servlet ? [ par yngwaar ]
Bonjour, pour une application java utilisant des EJB, nous rencontrons des problèmes et l'une des solutions serait la suivante, mais je ne sais pas s
Probleme Connxion base de donnée ACCESS via JSP/SERVLET [ par fartman2001 ]
voila, je debute completement avec les servlets et jsp, et on me demande à l'aide d'une jsp et/ou d'une servlet de me connecter à une base de donnée A
Obtenir les informations de version d'un programme [ par dekortic ]
Bonjour, je travaille actuellement sur un programme de gestion et je butte sur le problème suivant: Je ne parviens pas à afficher dans une boite de di
Afficher les informations de versions et les différentes propriétés du programme (auteur, copyright, titre etc.) [ par dekortic ]
Bonjour, je travaille actuellement sur un programme de gestion et je butte sur le problème suivant: Je ne parviens pas à afficher dans une boite de d
Créer un traducteur avec servlet JSP et EJB [ par fanfan78 ]
Bonjours à tous,Dans un cadre scolaire j'aimerais développer un traducteur permettant à des utilisateurs de saisir un terme en anglais et en retour d'
Livres en rapport
|
Derniers Blogs
[WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
FORMTIONFORMTION par 25721088
Cliquez pour lire la suite par 25721088
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|