06/29/05
Troisième volet de mon compte-rendu de la conférence du 23 juin à Strasbourg. Salim Gasmi de SDV Plurimédia nous a expliqué la problématique de l'hébergement d'un site web Java à forte audience.
Salim Gasmi nous a d'abord présenté la société SDV Plurimédia dont il est le Directeur Technique. Aujourd'hui SDV est une filiale du groupe de Presse France Antilles. La société est spécialisée dans l'hébergement de site à fort traffic, en particulier les titres de presse comme Les echos ou de nombreux titres régionaux comme les Dernières Nouvelles d'Alsace ou encore la chaîne de télévision Arte. Pour donnée une idée de ce que l'on entend par site à fort traffic, le record du nombre de hit/s chez SDV était de 2000 hits/s.
Les technos utilisées
En terme de technos, on obtient les chiffres suivants concernant les technologies utilisées dans les sites hébergés par SDV :
- PHP : 70%
- C/C++ : 10%
- ASP .Net : 5%
- Java : 5%
- ColdFusion : 5%
- Autres (ex. Perl, Python) : 5%
Ces chiffres sont en nombre de sites mais on observe que plus le site est complexe est moins la proportion de sites en PHP est grande et plus la proportion de sites en Java augmente. On peut résumer cela ainsi :
- Petits sites : PHP
- Sites moyens : PHP et ASP
- Gros sites : PHP, Java et .Net
Pour la chaîne de télévision Arte, il s'agit d'héberger 120.000 pages web et pas moins de 9.000 servlets Java ! Avec une archive complète du site chaque jour visible depuis Internet.
A noter que la réalisation des sites est la plupart du temps confiée à des SSII spécialisée.
Quel serveur d'application ?
Le choix du serveur d'application est souvent fait par le client ou par la SSII. On a le choix entre des solutions Open Source (Tomcat, Jetty, Resin, JBoss) et des solutions commerciales (WebSphere d'IBM, WebLogic de BEA). A noter qu'en terme de perfomances toutes les solutions ou presque se tiennent dans un mouchoir de poche et que les solutions Open Source se défendent très bien. Websphere et Jetty se distinguent par des performances plus médiocres mais sans doute pour des raisons bien différentes, Websphere étant très certainement sur-dimensionné comme simple serveur d'application et Jetty étant un peu limite pour le traffic demandé. A titre d'information, Arte utilse utilise Tomcat 5 et Apache 1.3.
Quel matériel ?
Pour un site à fort traffic, il faut pouvoir compter sur un ou plusieurs serveurs bi-processeurs avec l'hyperthreading activé (ce qui fait 4 processeurs virtuels) et au moins 3 Go de mémoire. Un répartisseur de charges (load balancer) permet de répartir les demandes sur 2 serveurs ou plus. Mais attention au code : il ne faut stocker aucune données (exemple : données de session) sur le disque local du serveur car on peut démarrer une connexion sur un serveur et la continuer sur un autre serveur. Dans ce cas de figure, utiliser plutôt des disques partagés. Dans le cas d'Arte, 4 serveurs fournissent chacun 60 hits/s soit un total de 240 hits/s. Par serveur, 20 hits/s concernent uniquement les servlets (le reste concerne les autres types de resources comme les images, les fichiers HTML statiques, les CSS, etc.). Pour la répartition de charge HTTP, on peut utiliser un répartiteur logiciel comme le très connu logiciel Open Source Balance ou (si on a plus de moyens) un répartiteur matériel de type Alteon ou Foundry.
Commentaires:
il faut voir ce qu'on en fait !
ca c'est un serveur e-bizness pour créer des architectures distribuées, avec EJB et web-service à fond la pêche
c'est concu pour résister à n'importe quelle montée en charge (si c'est bien administrer ^^), gérer les multi-connexions...
c'est sûr que pour tuer une mouche un bazooka n'est pas plus performant qu'une tapette, mais ce n'est pas le même usage ^^
afficher des articles de journaux ca n'a rien de très complexe techniquement...
Laisser un commentaire:
Pingbacks:
Cet article n'a pas de Pingbacks pour le moment...