Aller au contenu

Solutions alternatives au clustering


Silveur

Sujets conseillés

Bonjour,

Je préviens tout de suite, je ne m'y connais pas très bien dans le domaine du serveur dédié :)

J'expose mon problème : mon site est tout simplement trop fréquenté et donc subi de fort ralentissements, et je ne sais pas comment régler ça. Le site est actuellement hébergé par la structure suivante :

BiXeon Quadruple Coeur (4x 2.33 GHz, 6 Go DDR2) : Serveur Apache avec uniquement les pages PHP

BiXeon Quadruple Coeur (4x 2.33 GHz, 6 Go DDR2) : Serveur MySQL

BiXeon Douple Coeur (2x 2.66 GHz, 6 Go DDR2) : Serveur Apache avec uniquement les images, design, etc...

Le serveur qui sature est le premier qui héberge les pages PHP, et en particulier aux heures des pointes (avec +2000 connectés) où la charge serveur peut attendre 20 voir 100.

Les autres serveurs n'ont pas de soucis (la charge oscille entre 2 et 4, sans ralentissement notable).

Le Bi Xéon Quadruple coeur est le serveur le plus performant d'OVH (sauf erreur), la configuration est visible ici : http://www.ovh.com/fr/produits/bixeonquadricore.xml . La plupart du temps, quand le site se mettait à ralentir, je changeais tout simplement de serveur pour la gamme du dessus... Mais là c'est plus faisable. Je me suis renseigné sur le clustering mais apparemment cette offre n'est plus proposée par OVH. Je cherche donc des solutions alternatives...

Sinon, j'ai essayé d'installer des accelérateurs PHP comme eAccelerator mais étant sous la release Gentoo OVH 2 avec PHP en CGI, l'installation est impossible... Du moins, j'ai essayé sans tout casser :D.

Le site en question est un jeu en ligne, et pour le moment, la seule solution que j'ai à l'esprit est de répartir les joueurs sur deux serveurs apaches. Je pense procéder ainsi :

- copier toutes les données du serveur apache vers le nouveau serveur apache

- faire en sorte que le formulaire de connexion affiche pointe aléatoirement vers le premier serveur ou le deuxième

- constamment copier les fichiers des deux côtés lors des mises à jours... Et me débrouiller pour le reste (oulà, ça va être galère !)

Ca fait très très bricolage, c'est vraiment peu pratique et je suis peu convaincu de son efficacité c'est pourquoi je demande votre aide :)

Je suis ouvert à toute proposition.

Modifié par Silveur
Lien vers le commentaire
Partager sur d’autres sites

J'imagine que ce n'est pas un probleme de resource et que la machine ne swap pas.

Hum, je commencerais sans doute par profiler le code PHP pour savoir ou le code passe le plus de temps en vu d'optimisation, car c'est pas forcement normale d'ecraser ce genre de machine.

De plus comme t'es sur un dedie, installe PHP en module, car le CGI surtout sur du PHP est un vrais gouffre niveau perf.

Le truc ultime si ca ne suffit pas ... serait peut etre de recoder le moteur (donc tout hors IHM), en C++ Ca fait tout redevelopper mais y'aura pas mieux pour les perfs.

Bonne chance.

Modifié par destroyedlolo
Lien vers le commentaire
Partager sur d’autres sites

Je l'ai souvent signalé aux infogérés du Hub, suphp (Php en CGI) est un gouffre au niveau performance.

Surtout comme dans ton cas où tu es le seul à héberger ton(tes) site(s) sur ces serveurs, il n'apporte rien en terme de sécurité.

De plus, les Releases 2 d'OVH (Gentoo) ont une particularité. Pas mal de packages sont masqués par OVH et tu ne peux donc pas facilement faire les mises à jour autres que celles proposées par OVH... et celles-ci se font désirer un moment.

Php 5.2.4 apporte un gain de performances non négligeable par rapport à Php 5.1.4 et une installation de Php en module Apache te permettrait d'utiliser eaccelerator et diminuer la charge serveur de manière sensible.

Donc, à part réinstaller une Gentoo de base (et non plus une release 2 OVH) ou une Debian Etch je ne vois pas tellement de solutions :(

Dan

Lien vers le commentaire
Partager sur d’autres sites

Merci pour vos messages.

Je viens de profiler mon code PHP, merci pour l'information, je ne savais pas que c'était possible :) Je pense avoir légèrement amélioré le code, mais c'était déjà assez propre, alors le gain en terme de performance est peut-être négligeable... On verra bien ce soir en heure de pointe, mais encore merci pour l'information. Je vais essayer d'optimiser encore un peu mieux mes pages PHP :)

Sinon, bon... Je pense que je vais vraiment essayer de mettre les mains dans le cambouis et partir d'une nouvelle release pour installer php en module.

En revanche j'hésite entre deux solutions : partir d'une Gentoo nue et tout installer à la main (LAMP) ou plutôt d'une Release OVH1 (avec déjà PHP en module) et tout mettre à jour ?

Sachant qu'au final, sur ce serveur, j'ai "juste" besoin de bind, apache, php et les mails (pas de MySQL en fait...).

Qu'est-ce que tu me conseilles, Dan ? Etant assez débutant dans le domaine, j'ai peur de faire trop de bêtises en partant d'une Gentoo (surtout au niveau des mails et tout ça)... Ou alors, est-ce que je risque de faire plus de bêtises en partant d'une OVH1 ? (qui est obsolète, etc...)

Encore merci pour votre aide.

Modifié par Silveur
Lien vers le commentaire
Partager sur d’autres sites

On lit souvent que la release 1 est obsolète... chaque distrib a ses défenseurs, et chacun prétend avoir trouvé la meilleure distribution.

En fait chacun voit midi à sa porte.

Sans aller jusqu'à direque la release 1 est la meilleure, elle a au moins l'avantage d'être ultra stable.

J'utilise une Release 1 pour le Hub, sans aucun problème. Mais elle n'est plus tout à fait release 1 parce que j'ai changé les versions de pas mal d'outils: php, mysql, iptables, etc... Je tourne donc, comme de nombreux infogérés, Php 5.2.4 avec un acclérateur, et tout baigne.

Une chose que je n'ai pas encore tenté est d'y installer un Apache 2.x. Je le ferai peut-être un jour.

Si je devais en changer, je pense que je passerais à une Debian Etch, plutôt qu'une Gentoo.

Quelques démêlés avec la release 2 OVH m'ont fait perdre l'enthousiasme que j'avais pour Gentoo (mais ce n'est qu'un sentiment personnel)

Mais dans le cas d'une Debian, il faut là aussi tout installer soi-même. Et le succès dépend de tes compétences au niveau admin (il existe quelques tutoriaux très bien faits toutefois)

Dan

Lien vers le commentaire
Partager sur d’autres sites

On lit souvent que la release 1 est obsolète... chaque distrib a ses défenseurs, et chacun prétend avoir trouvé la meilleure distribution.

En fait chacun voit midi à sa porte.

Sans aller jusqu'à direque la release 1 est la meilleure, elle a au moins l'avantage d'être ultra stable.

J'utilise une Release 1 pour le Hub, sans aucun problème. Mais elle n'est plus tout à fait release 1 parce que j'ai changé les versions de pas mal d'outils: php, mysql, iptables, etc... Je tourne donc, comme de nombreux infogérés, Php 5.2.4 avec un acclérateur, et tout baigne.

Une chose que je n'ai pas encore tenté est d'y installer un Apache 2.x. Je le ferai peut-être un jour.

Si je devais en changer, je pense que je passerais à une Debian Etch, plutôt qu'une Gentoo.

Quelques démêlés avec la release 2 OVH m'ont fait perdre l'enthousiasme que j'avais pour Gentoo (mais ce n'est qu'un sentiment personnel)

Mais dans le cas d'une Debian, il faut là aussi tout installer soi-même. Et le succès dépend de tes compétences au niveau admin (il existe quelques tutoriaux très bien faits toutefois)

Dan

Bonsoir DAN,

J'ai le même problème de performance sans pour autant que ma machine ne tombe.

Je suis en ovh release 2 ... et en plus n'ayant pas réfléchit lors de l'installation j'avais choisi le mode 64 bits ce qui c.. car je n'ai que 2 Go de ram (PIV 2GO ram et 750 Go)

Or j'ai bien lu un peu partout que debian etch serait meilleur que cette rel 2 d'ovh.

Dans ton poste tu parle de tutoriels bien fait, en aurais tu quelques uns sous la main.

En fait j'ai une quarantaine de sites web et un peu plus de 10 000 000 de requêtes mysql jour.

Je tournai avant sur une dédibox que j'avais fini par optimiser et via le cron je relancais apache toute les heures pour éviter les plantages.

Aujourd'hui je suis passé sous OVH avec une machine bien plus puissante mais le résultat reste insatisfaisant.

Sachant que j'ai besoin impérativement :

Mysql >= 4xx

phpmyadmin

apache 2xx

PHP4 et PHP5

Gestion de mails

Je m'étais dit que debian etch + plesk serait peut être une bonne solution ?

Quel est ton avis ?

Pourquoi Plesk, parce que je n'ai pas le temps de modifier tout à la main à chaque fois, mes fichiers de zone(bind), mes users ftp ...

Aurais tu des tuto et ou une opinion ?

J'avais essayé en local sur une petite machine de test PIV 2.66 784Go HD 120 Go.

Debian parfais, mais le PB c'est que les sources ne permettais pas d'accèder à l'apt-get de php4 ...

9à parait bête mais bout à bout ces petites misères font qu'on se retrouve rapidement avec une journée dans le nez et pas de solution au bout à part réinstaller cett coch de rel2 ....

Lien vers le commentaire
Partager sur d’autres sites

Pour info, il est tout a fait possible d'utiliser eAccelerator avec SuPHP en FastCGI. (malgré ce que l'on peut lire sur le net)

Is eAccelerator working with php-cgi or php-cli?

This is not yet supported and it won't be supported in the near future. However FastCGI is supported.

http://www.eaccelerator.net/wiki/Faq

Sur un petit forum, en execution, je passe de 0,033s (avec eaccelerator) à 0,067s (sans eaccelerator) en moyenne sur quelques refresh.

On peut donc, avec SuPHP, fournir par virtualhost, une version de PHP precise, avec un php.ini precis et avec ou non eAccelerator d'activé :thumbsup:

Lien vers le commentaire
Partager sur d’autres sites

Qu'est-ce que tu me conseilles, Dan ? Etant assez débutant dans le domaine, j'ai peur de faire trop de bêtises en partant d'une Gentoo (surtout au niveau des mails et tout ça)... Ou alors, est-ce que je risque de faire plus de bêtises en partant d'une OVH1 ? (qui est obsolète, etc...)

Bonjour,

Tu es débutant ? C'est sérieux ? Parce que je n'ai pas l'impression que tu l'es en te lisant.

Qu'en est-il de tes choix et de tes résultats ?

L'url éventuellement (curiosité)

Merci à toi.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...