Formation par Olivier Duffez

Formation au référencement par Olivier Duffez, créateur de WebRankInfo !
Une formule efficace alliant théorie et pratique, avec une haute disponibilité des intervenants
Cette formule a déjà convaincu plusieurs centaines d'entreprises, pourquoi pas vous ?
Réservez vite votre place en ligne (convention possible pour imputer sur le budget formation)

Formation référencement Marseille

[article] Faire évoluer son architecture serveur

Aller à la page 1, 2, 3  Suivante
Poster un nouveau sujet Imprimer cette discussion    Forum -> Administration d'un site Web   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
fandecine
Modérateur
Modérateur

Inscrit le: 02 Avr 2005
Messages: 1393
Localisation: Béarn

URL permanente de ce messagePosté le : Dim Nov 04, 2007 16:36    Sujet du message: [article] Faire évoluer son architecture serveur

Tout les webmasters ont été un jour confronté au problème suivant : "mon site est maintenant à l'étroit sur son hébergement actuel, quelle solution choisir ?"

On débute sur un mutualisé, puis on passe sur un petit dédié, puis un dédié plus gros et puis ...

Cet article à pour objectif de proposer des solutions d'évolutions d'architectures serveur en tenant compte des performances et des coûts.

En matière de terminologie, pour la clarté de l'article, j'appellerais "serveur" la machine physique (l'ordinateur) et "service" le logiciel (l'application). Je prendrais également pour hypothèse que le serveur est un serveur LAMP (linux + apache + mysql + php)

Avant de choisir une architecture "serveur" il faut avant tout définir les "services" dont on a besoin, les principaux étant, dans le cas qui nous intéresse, le "service web", le "service mail", le "service ftp", le "service base de données".
Je ne parlerais pas du "service ssh", indispensable pour se connecter sur son "serveur" à distance, ni des "services" de type système.

Nous avons donc notre "serveur" qui héberge ces "services" et nous sommes à l'étroit en raison du la charge (en gros du trafic) et nous n'avons pas les moyens de prendre un serveur plus gros et plus cher ! que faire ?

1 ère solution, l'optimisation

Si le serveur est un serveur clé en main, les différents "services" installés sont configurés de façon disons, universelle, pour répondre aux besoins du plus grand nombre. Il est donc intéressant de regarder, "service" par "service" aec quelles options ils sont installés et compilés afin de supprimer ce qui ne sert pas.

Pour le "service" web, si c'est apache, reportez vous à mes articles optimiser son dédié et bien configurer apache

Pour le "service" base de données, si c'est mysql, un petit coup d'oeil à l'excellente doc en ligne de mysql vous permettra de "tuner" efficacement votre "service" mysql pour grappiller quelques ressources.

En ce qui concerne le "service ftp", posez-vous la question de son utilité (hé oui! j'ai connu bien des cas ou il ne servait à rien !) même si votre site propose aux utilisateurs d'uploader des fichier, il existe des alternatives à ftp.

Pour le service mail, on distingue le "smtp" et le "pop" (ou l'imap). Si votre serveur doit envoyer des mails (contact, newsletters) le smtp est nécessaire. Par contre, posez-vous la question de l'utilité du pop, vous pouvez trés bien héberger vous boites aux ailleurs à moindre coût.

Enfin pour PHP, vous pouvez bien entendu optimiser votre code, installer un cache d'opcode etc ... Mais le résultat le plus spectaculaire sera obtenu en recompilant PHP aprés avoir supprimer l'inutile ! J'en voie qui froncent les sourcils d'un air dubitatif. Je m'explique par l'exemple:

Utilisez-vous les fonctions wddx_xxxxxxx ? Non, alors vous n'avez pas besoin de la librairie WDDX.
Utilisez-vous les fonctions mhash_xxxxxx ? Non, alors vous n'avez pas besoin de la librairie HASH.
Utilisez-vous les fonctions ftp_xxxxxx ? Non, alors vous n'avez pas besoin de la librairie FTP.

etc ....

Une fois identifiées les librairies inutiles (là, il faut regarder la doc PHP) il vous suffit de recompiler PHP en désactivant le support des dites librairies (par exemple --disable-ftp --disable-wddx etc ...)

Le gain en occupation mémoire des processus apache-php est considérable (j'ai diminué de 60% cette taille de processus sur certaines config!)


2 éme solution, 2 serveurs valent mieux qu'un (à coût constant)

je vais prendre un exemple rapide que j'ai expérimenté (je tiens avant tout à préciser que les hébergeurs cités le sont à titre d'exemple et la qualité de leurs services respectifs n'est en aucun cas débatus dans cet article)

2 dédibox (processeur C7 2 Ghz, 160 Go disque et 1 Go de mem) se sont avérés plus performant qu'un superplan 2007 + (à 'époque Core2duo 2x1,8 Ghz , 2 Go de mem et 160 Go de disque) pour un coût inférieur de 30 %. Le gain de charge était voisin de 50 %.

Dans ce cas précis, l'architecture était la suivante:

Serveur 1 : Apache + PHP (serveur de pages web)
Serveur 2 : Mysql + lighttpd (serveur mysql et serveur d'image).

Les raisons ? Tout d'abord, apache est un gros consommateur de processus donc de mémoire. Mysql est lui un gros consommateur de CPU, et de mémoire. La solution de les installer sur des machines différente est bien connue et a fait ses preuves.

La petite innovation de la solution étant de faire tourner un serveur d'image sur la même machine que mysql. Le choix du service web s'étant porté sur lighttpd en raison de sa faible trace mémoire et de ses meilleures performances q'apache pour servir des fichiers "statiques". D'autres parts, notre apache du serveur 1, ainsi délivré de la charge de servir des images avec des processus surdimensionnés pour cela s'en trouvait bien mieux.
Enfin, les deux serveurs se backupaient l'un l'autre (avec une tache cron rsync en ssh) , histoire d'utiliser l'espace disque libre.

Actuellement, je travaille à la mise en place d'une architecture identique à deux serveurs avec en plus un service de streaming vidéos (avec conversion automatique des formats vidéos)

Pour conclure, si malgré tout vous êtes à l'étroit, il reste encore la solution de la répartition de charge multiserveurs (load-balancing) mais une telle architecture sort du cadre de cet article et de ce forum. Wink

[ j'édite ce post pour apporter une précision suite à un MP: ]

En ce qui concerne PHP, certains modules sont compilés par défaut. Si ils sont innutiles il faut les désactiver à la compilation. Ensuite, si PHP est installé par apt-get (debian) ou yum (fedora) ou autre, il n'y a qu'a regarder avec phpconfig() pour voir l'ensemble des modules compilés avec php et trés souvant il y en a beaucoup d'inutiles.


Dernière édition par fandecine le Dim Nov 04, 2007 20:40; édité 1 fois
 
fandecine Visiter le site web du posteur
Monty973
WRInaute accro
WRInaute accro

Inscrit le: 21 Mar 2006
Messages: 1513

URL permanente de ce messagePosté le : Dim Nov 04, 2007 17:42    Sujet du message: [article] Faire évoluer son architecture serveur

Ben merci fandecine

 
Monty973 Visiter le site web du posteur
Mumuri
WRInaute accro
WRInaute accro

Inscrit le: 03 Nov 2004
Messages: 1732
Localisation: bordeaux

URL permanente de ce messagePosté le : Dim Nov 04, 2007 18:49    Sujet du message: [article] Faire évoluer son architecture serveur

pour compléter , lighttpd peut aussi s'installer en local sur un dédié et vous pouvez ensuite rediriger les requetes pour un sous domaine type "images.monsite.com" sur ce serveur web avec le mod proxy d'apache.

utile si vous avez une grosse gallérie d'images et pas les moyens de vous payez un gros serveur

+1 pour la reco
 
Mumuri Visiter le site web du posteur
keroin
WRInaute accro
WRInaute accro

Inscrit le: 29 Avr 2006
Messages: 1903

URL permanente de ce messagePosté le : Dim Nov 04, 2007 19:20    Sujet du message: [article] Faire évoluer son architecture serveur



Very Happy
 
keroin Visiter le site web du posteur
Ohax
WRInaute accro
WRInaute accro

Inscrit le: 05 Juil 2004
Messages: 6324
Localisation: Meurthe et Moselle (54) - à Toul (proche Nancy)

URL permanente de ce messagePosté le : Dim Nov 04, 2007 19:25    Sujet du message: [article] Faire évoluer son architecture serveur

Bon article !
 
Ohax Visiter le site web du posteur
fandecine
Modérateur
Modérateur

Inscrit le: 02 Avr 2005
Messages: 1393
Localisation: Béarn

URL permanente de ce messagePosté le : Dim Nov 04, 2007 20:18    Sujet du message: [article] Faire évoluer son architecture serveur

Mumuri a écrit:
pour compléter , lighttpd peut aussi s'installer en local sur un dédié et vous pouvez ensuite rediriger les requetes pour un sous domaine type "images.monsite.com" sur ce serveur web avec le mod proxy d'apache.

utile si vous avez une grosse gallérie d'images et pas les moyens de vous payez un gros serveur

+1 pour la reco


A ce sujet, il faudrait que je fasse des test avec apache en serveur principal et mod-proxy qui redirige sur lighttpd pour le statique et l'inverse, lighttpd en principal qui redirige vers apache pour le php, voir aussi lighttpd seul avec php tournant en cgi.

Je n'ai aucune idée à priori de la solution la plus efficace.

J'utilise déjà des config avec deux apaches (un avec php, un pour le statique) pour des serveurs ou je mutualise plusieurs clients et ça marche trés bien avec un gain de performence appréciable.
 
fandecine Visiter le site web du posteur
tonguide
WRInaute passionné
WRInaute passionné

Inscrit le: 28 Nov 2003
Messages: 964

URL permanente de ce messagePosté le : Lun Nov 05, 2007 3:16    Sujet du message: [article] Faire évoluer son architecture serveur

Auriez-vous un site référence "pour les nuls" puis un site pour approndir (ou les 2 en 1) pour apprendre à installer et gérer un serveur ?

Je désire apprendre d'ici peu à gérer moi meme mes serveurs, seulement j'aimerai un guide pour pas trop me planter (sachant que les sites seront en prod, je peux pas dire de tout planter).

On a souvent des informations intéressantes (comme ici) mais vue de l'extérieur, pas simple à mettre en pratique. Ou sinon, à l'inverse, on a des infos concrètes mais qui sont expliqués pour ceux qui connaissent déjà et là, c'est du chinois.
 
tonguide Visiter le site web du posteur
Julia41
WRInaute impliqué
WRInaute impliqué

Inscrit le: 31 Aoû 2007
Messages: 342
Localisation: Oléron

URL permanente de ce messagePosté le : Lun Nov 05, 2007 3:58    Sujet du message: [article] Faire évoluer son architecture serveur

tonguide a écrit:
Auriez-vous un site référence "pour les nuls" puis un site pour approndir (ou les 2 en 1) pour apprendre à installer et gérer un serveur ?


Installation complète : -http://olange.developpez.com/articles/debian/installation-serveur-dedie/
Les commandes de base de Linux : -http://www.linux-france.org/article/debutant/debutant-linux.html

Si tu veux un conseil, installe toi une petite Knoppix en local à partir du LiveDVD (Knoppix est une debian en mode bureau assez agréable [avis perso])... Et test 2-3 commandes...

L'article de fandecine est excellent, mais bon, il aurait dû commencer par "prendre un dédié si vous connaissez un minimum Linux et son environnement"...

Le premier guide dont je t'ai donné le lien est parfait si tu prends un serveur dédié sous une Debian de base... (Juste l'install de vsftpd que je remplace par proftpd). Et te permet d'avoir un serveur parfaitement stable.

Si les sites sont en prod comme tu le dis, je te conseil aussi de prendre la box la moins cher que tu trouveras, voir un Virtuel pour t'amuser et surtout pour apprendre...
 
Julia41 Visiter le site web du posteur
tonguide
WRInaute passionné
WRInaute passionné

Inscrit le: 28 Nov 2003
Messages: 964

URL permanente de ce messagePosté le : Lun Nov 05, 2007 14:19    Sujet du message: [article] Faire évoluer son architecture serveur

Ok merci pour les conseils.

Je pense effectivement que ça serait plus raisonnable de prendre un mini dédié (voir un PC chez moi ?) pour apprendre à gérer tout ça.

Je met ces 2 sites en favoris donc !
 
tonguide Visiter le site web du posteur
poupee
Nouveau WRInaute

Inscrit le: 29 Juin 2007
Messages: 49

URL permanente de ce messagePosté le : Lun Nov 05, 2007 19:30    Sujet du message: [article] Faire évoluer son architecture serveur

Bonjour
J'ai trouvé cette série d'articles très intéressante.

J'ai un serveur dédié avec une configuration qui commence à dater:
mysql Client API version 4.0.24
PHP Version 4.3.10-22
Apache/2.0.54 (Debian GNU/Linux)

Sur ce serveur j'ai 2 vieux scripts que je souhaite garder: phpbb en version 2.03 et un vieux lifetype 1.0.3.
Bien sur ces scripts mêmes vieux ont été mis à jours contre quelques hack, mais ils gardent leur config d'origine.

Bref, mon hosteur me propose de basculer mon serveur avec les derniers mysql 5. que faut-il craindre ? existe-il une possibilité à l'installation de garder un mysql plus compatibles avec les anciens scripts ?
Merci.
 
poupee
Ron56
WRInaute passionné
WRInaute passionné

Inscrit le: 20 Nov 2005
Messages: 596

URL permanente de ce messagePosté le : Lun Nov 05, 2007 20:54    Sujet du message: [article] Faire évoluer son architecture serveur

Op une reco , très intéréssant Wink
 
Ron56 Visiter le site web du posteur
fandecine
Modérateur
Modérateur

Inscrit le: 02 Avr 2005
Messages: 1393
Localisation: Béarn

URL permanente de ce messagePosté le : Lun Nov 05, 2007 22:44    Sujet du message: [article] Faire évoluer son architecture serveur

poupee a écrit:
Bonjour
J'ai trouvé cette série d'articles très intéressante.

J'ai un serveur dédié avec une configuration qui commence à dater:
mysql Client API version 4.0.24
PHP Version 4.3.10-22
Apache/2.0.54 (Debian GNU/Linux)

Sur ce serveur j'ai 2 vieux scripts que je souhaite garder: phpbb en version 2.03 et un vieux lifetype 1.0.3.
Bien sur ces scripts mêmes vieux ont été mis à jours contre quelques hack, mais ils gardent leur config d'origine.

Bref, mon hosteur me propose de basculer mon serveur avec les derniers mysql 5. que faut-il craindre ? existe-il une possibilité à l'installation de garder un mysql plus compatibles avec les anciens scripts ?
Merci.


UUUUUH! sur un site en production avec des scripts non développé par moi, je ne prendrais pas le risque de passer mysql de 4 à 5 sans faire de test préalable.

Pour cela, j'ai un serveur de test (un kimsufi) que je martyrise souvant (installations, re-installations, compilations etc ..). Mais cela peut se faire avec un vieux pc, mais pose toi d'abord la question "est ce bien necessaire ?". Ta config est pas si vieille que ça aprés tout.
 
fandecine Visiter le site web du posteur
Rahir
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 24 Jan 2006
Messages: 208
Localisation: London

URL permanente de ce messagePosté le : Mar Nov 06, 2007 17:24    Sujet du message: [article] Faire évoluer son architecture serveur

Très bon article ça, intéressant ! Ca va me servir dès que j'aurais l'occasion de passer sur un serveur dédié un jour...!

Merci fandecine Wink

+1
 
Rahir Visiter le site web du posteur
datch
WRInaute passionné
WRInaute passionné

Inscrit le: 16 Juin 2006
Messages: 876
Localisation: nice

URL permanente de ce messagePosté le : Mer Nov 07, 2007 18:35    Sujet du message: [article] Faire évoluer son architecture serveur

plus 1

Merci, tu m'as donné la solution qui m'empêche de dormir la nuit
 
datch Visiter le site web du posteur
Ohax
WRInaute accro
WRInaute accro

Inscrit le: 05 Juil 2004
Messages: 6324
Localisation: Meurthe et Moselle (54) - à Toul (proche Nancy)

URL permanente de ce messagePosté le : Mer Nov 07, 2007 19:09    Sujet du message: [article] Faire évoluer son architecture serveur

Php4 est voué à disparaitre dans quelques mois donc... Wink
 
Ohax Visiter le site web du posteur
 
Montrer les messages depuis:   
Revenir en haut    Forum -> Administration d'un site Web Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 3 - Aller à la page 1, 2, 3  Suivante
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort