Bonjour à toutes et à tous,
J'ai une application (Java Spring) web qui tourne au public qui est est sur mon serveur dédié OVH. Elle tourne via Tomcat installé sur mon serveur.
Avec la montée de charge que l'application subie actuellement, j'ai pris l'offre OVH "load balancer", (j'ai donc mon IP Load balancer).
Malgré la lecture de la doc, je n'arrive pas à comprendre le processus de fonctionnement.
J'ai un seul serveur (avec son adresse IP) sur lequel tourne Tomcat, le Load balancer à aussi une autre adresse IP, comment réussir à faire fonctionner les deux ensembles svp?
Faut t'il une autre VPS pour pouvoir balancer? Ou me faut t'il créer des instance de Tomcat sur mon serveur (que je possède déjà), ou quoi faire...... ?
Svp qi quelqu'un à une procédure une architecture à utilisée ou quoi que ce soit je suis preneur svp.
Merci d'avance.
Offres Réseaux - Un serveur OVh et Une adresse Load Balancer
Related questions
- IP LB : Création infra multi DC
7842
25.12.2017 14:32
- VRACK + proxmox-pfsense = TCP impossible
7632
05.09.2018 15:16
- Routage - Vpn IPsec + vrack + public cloud + serveur dédié
7406
04.06.2017 10:02
- IP LB NextGen Multi DC
7089
10.02.2017 09:42
- IPLB Graphiques
7085
15.03.2018 17:23
- Sonde http IPLB Nextgen
6625
02.11.2016 12:09
- Firewall compatible ipv6
6467
13.03.2017 11:12
- Nbr de règles sur le parefeu OVH
6283
22.11.2019 08:36
- Iplb http 503 pour 100% des requetes
6241
11.01.2018 16:51
- Activer firewall
6166
29.11.2022 08:08
En français: répartiteur de charge.
Il me semble évident qu'il faut répartir entre deux ou plusieurs serveurs d'exécution.
Si vous mettez deux Tomcat sur votre unique serveur, ça ne va rien arranger.
Bonjour,
oui, c'est le principe même d'un load balancer, c'est de répartir la charge entre plusieurs serveurs
Sans détails je dirais que vous n’avez potentiellement pas choisi le bon produit pour solutionner votre problème.
Pourquoi exactement ?
Votre application devient surchargée ? Lente ? vous avez quoi comme problème exactement du a cette montée en charge ?
Cordialement, janus57
L'application devient extrêmement lente, les données se chargent lentement.
Merci beaucoup pour le retour.
Premièrement pour pallier à cette montée de charge qui ralenti extrêmement l'application, j'ai implémenter une répartition de charge avec "haproxy" sur mon serveur entre 04 instances de Tomcat (sur des ports différents). Mais cela n'a pas totalement résolu le problème. Il persiste.
on m'a conseiller le "load balancer" de OVH; mais mon infrastructure ne possède que un serveur dédié.
Alors je me pose la question svp: 1- Si cette solution n'est pas adaptée avez vous quelque chose à me proposer ? 2- Si je peux garder cette solution, devrais ajouter des vps et implémenter des instances de Tomcat dessus?
Merci d'avance
Bonjour,
Vous êtes sur un VPS.
Pourquoi ne pas prendre un serveur dédié (plus) puissant ?
Bonjour,
ou vous a mal conseillé du coup et aussi au début vous parliez de VPS et maintenant de serveur dédié, du coup vous avez quoi exactement ?
analyser vos logs/stats pour trouver le goulot d’étranglement de votre application
encore une fois, on parle de VPS ou de serveur dédié ??
Un VPS et un dédié n'ont rien à voir en termes de disponibilité des ressources (sauf si vous prenez, une instance public cloud avec ressources garantit, mais là se pose la question si le choix est bien fait).
Cordialement, janus57
Bonjour.
Merci pour le retour.
Peut être je me suis mal exprimé, désolé. Ce que j'ai actuellement c'est un serveur dédié. Et il sature avec la montée en charge d'où son extrême lenteur.
L'outil "htop" me le confirme, la swap est saturée (au rouge, malgré le fait que je l'ai augmentée de 1Go à 5Go), la ram est au jaune (elle est pourtant de 50Go); la jvm java consomme énormément de ressource ( ce qui est normal à cause de Tomcat et Geoserver utilisée par mon app), suivi de la base de données Posgresql.
Pour faire très court, soit vous essayez d'optimiser votre application, de mieux gérer des caches, soit vous migrez sur un serveur + puissant...
La répartition de charge (le load balancer) c'est de toute façon entre plusieurs serveurs ou vps... Pas plusieurs apps sur le même serveur... Et il faut que votre app puisse gérer le fait d'être exécutée sur plusieurs serveurs en même temps...
Bonjour et merci encore du retour.

Je me suis surement mal exprimé, désolé. Ce que j'ai actuellement c'est un serveur dédié avec dessus: Tomcat, geoserver et Posgresql; Et c'est une seule application sur ce serveur qui les utilise
Voici un résultat (pièce jointe) des stats avec l'outil "htop".
C'est la raison pour laquelle je cherche à régler cette situation de montée en charge; et j'ai commencé à implémenter le load balancing sur ce serveur.... et la suite vous savez déjà.
En espérant avoir été un peu plus claire, je reste dans l'attente de vos suggestions pour résoudre ce soucis.
Merci d'avance;
A vue de nez c'est votre postgres qui fait 1200% de CPU, il ne vous manque pas des index dans votre base de données ?
Je vois, Merci pour l'éclaircissement
il y en a quelques uns.
Je n'en doute pas, mais une base de données qui vous consomme autant de CPU, c'est souvent le signe d'une base mal optimisée, ou bien des full table scan.
Bonjour,

Vous avez l'air d'avoir un gros problème d'optimisation (genre BDD mal conçus) ou de gestion des ressources (paramétrage de la BDD qui est "overkill" et qui est capable de consommer plus que ce que les ressources du serveur).
Déjà vous avez un loadaverage de 56 sur 15 minutes ==> surcharge CPU qui semble provenir de postgresql comme indiqué par @Fritz2cat
Ensuite le serveur SWAP alors que visiblement c'est majoritairement du cache qui est utilisé, donc je dirais qu'il faudrait ajuster le swappiness (genre le mettre à 30 pour commencer).
Par contre vous devriez modifier les "Meters" de HTOP pour avoir plus d'informations (genre le détail pour la RAM et l'état de l'utilisation des disques) exemple :
C'est quoi votre serveur actuellement (le nom commercial et sa configuration) ?
Cordialement, janus57
Ah d'accord. Merci beaucoup
A part l'indexation (que je vais de ce pas améliorer), avez vous une autre astuce pour l'optimisation de la BDD ?
Merci beaucoup pour le retour.

Voici les infos demandées.........
ha, la bdd est stockée sur les disques sata ?
Java s'éclate bien aussi niveau cpu/ram...
A vous de voir votre appli qui a l'air très gourmande (cpu/java/bdd)... A voir comme disent les autres côté index, mais aussi mise en cache...
A voir si votre site a besoin de recalculer le contenu pour chaque visiteur, sinon un nginx en reverse proxy avec mise en cache pourrait grandement aider...
ha, la bdd est stockée sur les disques sata ?
Java s'éclate bien aussi niveau cpu/ram...
A vous de voir votre appli qui a l'air très gourmande (cpu/java/bdd)... A voir comme disent les autres côté index, mais aussi mise en cache...
A voir si votre site a besoin de recalculer le contenu pour chaque visiteur, sinon un nginx en reverse proxy avec mise en cache pourrait grandement aider...
[edit] blabla je change le texte pour passer car j'ai supprimé le précédent[/edit]
Bonjour,
Et votre BDD est sur les disques NVMe ou les HDD ?
Comme dit plus haut, HTOP vous dit quoi au niveau des IO disques ?
Par contre je pense qu'il va falloir indiquer de manière plus précise ce que fait votre application et comment vous avez installé tout ça (genre si la BDD est sur les Nvme ou les HDD), car si vous avez pris un "Advance STOR" c'est qu’en toute logique vous avez besoin de beaucoup d'espace disque (je dirais 18To si on part sur un RAID5 ou 12To si on part sur un RAID6).
Au passage, pensez à faire les MàJ, car le serveur a plus de 1an d'uptime donc +1an que les MàJ de sécurité n'ont pas été appliqué.
Note : au passage PostgreSQL semble différent de MariaDB niveau diagnostique (de ce que j'ai trouvé).
Je vous conseille de vérifier que votre structure/query sont bien optimisés et sinon regarder pour aller plus loin dans le diag.
Quelques liens trouvés à l'aide de mon moteur de recherche favori :
- https://www.cockroachlabs.com/blog/high-cpu-usage-postgres/
- https://jfrog.com/community/data-science/troubleshooting-high-cpu-utilization-in-postgresql-databases-a-how-to-guide/
- https://www.heatware.net/postgresql/postgresql-high-cpu-usage-fix/
Cordialement, janus57