IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tomcat et TomEE Java Discussion :

Installation et configuration Tomcat


Sujet :

Tomcat et TomEE Java

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2004
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 218
    Points : 91
    Points
    91
    Par défaut Installation et configuration Tomcat
    Bonjour,

    Je suis débutant dans le domaine Tomcat et j'aimerais savoir quel est la meilleure infrastructure pour une application Java + Spring dialoguant avec un serveur Tomcat en tenant compte que il peu y avoir plusieurs centaines de connexions simultanées, le tout sera en dialogue avec une DB Oracle.

    Je suppose qu'il est mieux de mettre en place un load balancing sur plusieurs serveur Tomcat...????

    Si oui combien ?
    Si non qu'elle solution puis je utilisé avec Tomcat ?

    Merci pour la réponse

    Ah oui,...Bonne Année à TOUS

    Stujava

  2. #2
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    Bonjour,

    Avant de prévoir plusieurs Tomcat, fait en tourner un ! Plusieurs centaines d'utilisateurs sur un seul tomcat n'est pas délirant. (Sauf si tout les utilisateurs consomme beaucoup...)
    En premier lieu, regarde déjà si ton application peut lancer plusieurs requête en même temps à la base de donnée.
    Quel est le nombre de connexion en parallèle à la base de donnée ?

    J'ai déjà vue des applications faire des fail sur une dizaines d'utilisateurs pour un limite de ce type et une mauvaise gestion des connexions à la base de donnée. Or la limite de connexion en parallèle est généralement de 10/20. (Si tu ne les ferme pas, c'est le timeout qui le fait et celui-ci est de 300 secondes en général)

    La mise en place d'un load balancing n'est envisageable qu'une fois que tu as fait ton possible sur la gestion d'une instance. Sinon, je ne pense pas que developez.net utilise un load ballancing (Et il y a du monde...)

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  3. #3
    Membre régulier
    Inscrit en
    Juillet 2004
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 218
    Points : 91
    Points
    91
    Par défaut
    Merci pour ces informations, je pensais gérer le pool de connexions au travers de Spring qui fait cela très bien et soutenir cette action en paramétrant des infos tel que le maximum de connexion Idle ou encore gerer le removeAbandoned et le removeAbandonedTimeOut. Je pense effectivelment qu'avec tout cela on peu s'en sortir sans trop de problème.

    Merci pour ton avis expert kolodz

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Je rejoint l'avis déjà donné par kolodz. Il faut d'abord voir ce que dois faire l'application. En gros il faut que tu estime la charge qu'elle va avoir sur le serveur.


    Exemple de scénario:

    L'application récupère une ensemble de données (disons par exemple l'inventaire du contenu d'un conteneur), l'utilisateur le modifie par exemple en prenant 10 minutes de temps. Pendant ce temps, il interroge une dixaines de champs de la DB pour de l'autocompletion, disons 4 requêtes par champ puisque avec 4 caractère on a la valeur qu'on cherche, puis envoie la version modifiée sur le serveur. Sur 10 minutes de temps, l'utilisateur aura donc fait 1+1+4*4 = 10 requêtes sur le web service. Donc une requête par minute. Ce genre de service étant assez simple, on peut facilement tenir les 10 requêtes à la seconde (100 ms de moyenne c'est déjà long), donc 600 à la minute, ce qui nous donne donc facilement 600 utilisateurs sur un tomcat.


    N'oublie pas une chose importante: avec une application desktop, beaucoup des aller-retour que l'on a dans une application web sont évités, seules les données sont transférées. Bien géré, cela veux dire que la charge sur le serveur web est très légère, et donc qu'une telle application supporte beaucoup plus d'utilisateurs simultanés qu'une application pure web.

  5. #5
    Membre régulier
    Inscrit en
    Juillet 2004
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 218
    Points : 91
    Points
    91
    Par défaut
    Merci beaucoup pour cette approche tchize_, j'en tiens compte et cela m'aide beaucoup.

    Pour être précis, l'application doit être capable de supporter au minimum 2000 connexions en 5 minutes en consultation de page et afficher un écran en 3 secondes pour 25 connexions simultanées.

    Un Tomcat est capable de gérer cela ?

  6. #6
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    Pense à utiliser un cache, si besoin. Cela peut soulager de beaucoup ton serveur.
    Sinon, 2000 connexions, cela veux dire 400 requêtes/minutes ? Soit 6 requêtes/secondes ?

    Le problème ne va pas se trouver au niveau du tomcat. Il y a plusieurs points qui vont sauter avant :
    - La bande passante ! As-tu le débit suffisant pour fournit les données à tout le monde en même temps ? Quand ceux-ci ne sont pas sur le réseau local ?
    - Le CPU de la machine ! Ton application consomme-t-elle par nature beaucoup de CPU par utilisateur ?
    - La RAM ! Il est possible qu'à un moment ton application n'ai plus assez de RAM pour gérer l'ensemble des utilisateurs et leur données en RAM. Et doit faire du swap mémoire. Un barrette de RAM ou un DD SD sera aussi efficace dans ce cas que la duplication de la machine.
    Anecdote : un ancien collègue gérait un serveur entièrement répliqué, on lui a proposer une nouvelle machine à 100 000 € pour une amélioration des performances. Il fait un bench comparatif avec un DD SSD de 250 Go acheté à l'arrache. Il a eu les mêmes améliorations de performance. Au final, il a gardé le SSD...

    Au final, il faut bien se rendre compte que le tomcat ne fait "presque" rien. Ce n'est pas lui qui va consommer. Dans ton cas, il faut aussi relativiser le problème. La performance est une question de maillon faible. Que tu soit en charge de cette question, montre bien qu'il n'y a pas 100 000 € à placer dernière pour mettre un machine de guerre avec un DBA dédié pour optimiser les requêtes et la base de donnée. Sinon, il est important de faire un audite avec des personnes compétentes dans le domaine (prestation / SS2I etc).
    Il est rare de voir un société sortir la même somme d'argent nécessaire à l'intégralité du projet pour s'assurer que le pique de 2000 personnes va tenir.(Quand il sait que ça va arriver 1 fois par ans maximum)

    Sinon pour ce rendre compte un minimum des prix pour du répliqué un minimum sérieux :
    http://azure.microsoft.com/en-us/pricing/calculator/
    Tu place 4 VM et 1To de bande passante. Et tu as une facture de 1K€/mois
    Et ça c'est juste le prix du matériel.

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Plugin][Tomcat]impossible d'installer le plugin tomcat
    Par LSL dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 06/04/2005, 09h57
  2. [Tomcat]Comment configurer Tomcat pour faire du javascript ?
    Par uliss dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 10/02/2005, 17h29
  3. Installation et configuration de postfix
    Par ggnore dans le forum Réseau
    Réponses: 3
    Dernier message: 05/10/2004, 14h17
  4. [Debutant] Installation et Configuration Interbase
    Par goupil_32x dans le forum InterBase
    Réponses: 11
    Dernier message: 12/11/2003, 22h51
  5. Installation et configuration d'un routeur FlowPoint SSR255
    Par arnaud_verlaine dans le forum Développement
    Réponses: 3
    Dernier message: 11/08/2003, 13h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo