Aller au contenu

Besoin de specialiste optimisation


Raphael Ambrosin

Sujets conseillés

Bonjour a tous .

J'ai un souci avec mon serveur dédié .

Le nombre de connectés simultanés ne cesse de croitre, et les problemes également .

Actuellement je dispose d'une offre DDS PLATINIUM chez NUXIT . . . (geste commercial)sinon c'etait un DDS GOLD bref ...

CARACTERISTIQUE :

CPU : GenuineIntel, Intel® Xeon®CPU E5405 @ 2.00GHz

RAM : 4GO

HDD : 40 GO

LINUX : Debian_7etch8

APACHE : 2.2.3

PHP : 5.2.0-8+etch13

Je ne m'y connais pas du tout en optimisation serveur (apache,php,mysql) ...

c'est pourquoi j'aurais besoin de vous , pour me guider pas à pas, afin d'utiliser les bon outils, et trouver ce qui pourrais nuire au bon fonctionnement du serveur ...

Et surtout d'optimiser tout ceci, afin que mon serveur tourne correctement ...

Merci d'avance .

PS ; si un d'entre vous est motivé , je suis ok, pour refiler le bébé, histoire que cette personne réalise elle meme les optimisations ( je suis pret à deboursé quelques pécules si il le faut ) ... Contacte moi par MP si cela est le cas ...

Lien vers le commentaire
Partager sur d’autres sites

Les optimisations à apporter dépendent fortement du type de site, des méthodes de déploiement, ... Comme en référencement ou il n'y a pas de recette miracle, c'est la même chose en optimisation.

Par contre il y a de nombreuses ressources pour comprendre et identifier les points faibles de son architecture et pour les optimiser :

Les ressources Yahoo concernant la performance (notamment YSlow)

http://developer.yahoo.com/performance/

Le blog performance en francais:

http://performance.survol.fr/

Une présentation (avec vidéo) que j'ai tenue en juillet dernier :

http://allogarage.wordpress.com/2008/07/11...%99un-site-web/

Un point à bien intégrer, c'est que 80% du temps de chargement d'une page web est passé côté client.

Donc on oublie PHP/Mysql ou autre pendant un moment, et on réfléchit aux images, scripts,css...

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

il faudrait déjà préciser de quoi il s'agit. Le serveur est surchargé, ou bien le site est lourd coté client ?

Car bien que certains problèmes soient répercutés d'un coté et de l'autre, ça n'est pas toujours le cas.

Si le serveur MySQL est au bord du crash, ce n'est pas en réduisant les hits du front que ça se réglera... et inversement, si le site est mal construit et génère une centaine de hits, c'est pas en trifouillant PHP que ça se corrigera.

Lien vers le commentaire
Partager sur d’autres sites

Comme dit plus tot, il faut diagnostiquer si c'est php ou mysql qui déconne le plus (si le probleme est coté serveur)

J'ai souvent remarqué que lorsque le nombre de connexion simultané augmente beaucoup et vite, c'est souvent lié a un probleme de mysql, qui ferme mal ou de session apache qui ne se termine pas.

Donc je dirai pour commencer :

- Sur apache, limite la durée des connexions (moi je recommande 10secondes, car si une page n'a pas été chargé en 10 seconde, oubli, ton visiteur est déja partie :-))

- Sur MySql, limite la aussi la durée du TImeout pour etre conforme passe le a 10 secondes (tout dépend cependant du type de connexion que tu utilise pour la DB... persistante ou pas)

Ensuite si pas d'amélioration la il faudra peut etre rentrer dans ton code.

Lien vers le commentaire
Partager sur d’autres sites

Merci deja pour vos reponses ...

Aujourd'hui mon hebergeur , à réalisé quelques modifications, :

..." Je vous ai fait un tuning compte tenu des ressources de votre nouveau serveur :

- Augmentation drastique des buffers MySQL et notamment du cache MySQL, fondamental

- Config Apache très agressive

La charge a immédiatement chuté. Voyez si cela convient. Sinon, on a encore un levier : désactiver les logs Apache, on gagnera en performance, mais vous n'aurez plus de log et donc plus de statistiques. " ...

Depuis plus de souci, du tout, mais bon, je me doute que des que le nombre de membres va regrimpé, cela va recommencé ...

En effet ce n'est pas la premiere fois ...

EXPLICATIONS SURCONSOMMATION :

- Sur mon hebergement il n'y a qu'un seul site. Il est gerer par un CMS ( joomla 1.5.9 ) .

- J'ai devellope un composant ( interet de mon site ) s'integrant dans ce CMS .

- Le principe du site tourne autour des votes des membres de mon site ( 100 000 votes / jour )

- A chaque vote -> UPDATE, INSERT,SELECT, COUNT ...

- Et bien sur la dessus ce rajoute la gestion du site par joomla ( pas mal de SQL )

- Le forum ( la aussi pas mal de SQL )

- Et les affichage de certaine page de mon site ( 1 000 000 / mois ) qui sont assez lourde en SQL ...(plusieurs select,quelques count,... sur des grosses table SQL)

HISTORIQUE SERVEUR ET MODIFICATION :

SERVEUR MUTUALISE --> erreur mysql : database could'nt connect . ( du a la limite de connection sql simultané - 5 - )

donc je suis passé a un virtuel dédié .

SERVEUR VIRTUEL DEDIE --> saturation de la ram ( 512 MO )

mon hebergeur ma doublé la RAM ( 1024 )

SERVEUR VIRTUEL DEDIE --> CPU 99%

geste commercial de mon hebergeur vers un dedié avec un xéon x4 et 4 Go de RAM

SERVEUR DEDIE --> lenteur d'affichage des page voir meme -> page indisponible regulierement

Aujourd'hui modif de la config apache, et mysql , et depuis plus de probleme ....

C'est pourquoi je souhaiterais prendre les devants et optimiser au mieux, mes config, apache, mysql, php, et scripts php ... afin d'obtenir le meiux possible pour mes visiteurs ...

J'ai oublié de préciser dans mon tout premier message, je n'ai jamais utilisé des console SSH ... ( i'm newbie in DEDIE ) ...

Donc par quoi je dois commencer ? et surtout comment .

Lien vers le commentaire
Partager sur d’autres sites

Configurer MySQL est quelque chose d'obligatoire à mon sens, et c'est ce que vient de faire votre hébergeur à priori. Mais c'est déjà un gros morceau. Si ca n'avait jamais été fait jusqu'à maintenant, cela peut complètement expliquer les précédents problèmes.

Y compris coté Apache, avec un "keepalive" réglé par défaut à 15 secondes et un PHP installé en tant que module Apache, la mémoire peut vite exploser... à cause d'un seul malheureux paramètre dans ce cas.

Bref, en partant d'un serveur non configuré il y a effectivement de nombreuses pistes. Mais il faut déjà savoir identifier ce qui coince, et connaître les éventuelles solutions. Je vois que Nuxit propose une offre d'infogérance à 20€ HT par mois, je ne sais pas ce qu'elle englobe mais c'est à mon avis un bon point de départ : ainsi ils se chargeront d'ajuster la configuration au fil du temps.

Maintenant si vous y tenez vraiment, un des points les plus importants est d'avoir un monitoring : comment "optimiser" quoi que ce soit si on ne connaît pas les ressources consommées et/ou les goulots d'étranglement ? Là aussi il y a du choix : cacti, munin ou zabbix par exemple correspondent en partie à cela.

Et dans un deuxième temps vous pourrez peut-être vous pencher sur l'optimisation de "l'expérience utilisateur", via les liens indiqués par Bigb06. Ce point est déjà beaucoup plus de votre ressort je pense.

Lien vers le commentaire
Partager sur d’autres sites

Bon voila, je viens tout juste de finir l'installation de munin .

J'ai eu pas mal de difficulté ( c'est ma premiere fois en SSH, et en linux !!! )

La les graphs suivants sont en place :

Apache

Apache accesses

Apache processes

Apache volume

Disk

Filesystem usage (in %)

Inode usage (in %)

Mysql

MySQL throughput

MySQL queries

MySQL slow queries

MySQL threads

Network

Netstat

Processes

Fork rate

Number of Processes

VMstat

System

CPU usage

Available entropy

Interrupts & context switches

Load average

Memory usage

File table usage

Inode table usage

Swap in/out

Faut t'il que je rajoute des plugins tout de suite ?

Depuis la modification apporté par nuxit, le site ne rame plus trop, voir correct, par contre il subsiste toujours un probleme :

Le site est une fois sur 5 innacessible ... exemple je clique sur un lien le navigateur commence a chercher ... et tourne jusqu'a obtention d'un joli " page web innacessible ! J'actualise (F5) et hop ca charge nikel ...

J'espere que grace aux valeur que je vais recupéré avec munin, et votre experience en optimisation ... j'arriverai a atteindre mon but : Un site qui ne rame pas et qui reste accéssible ...

J'avoue que le fait de toucher à un domaine ( optimisation, parametrage serveur ) m'interesse enormement , j'ai l'impression de recommencer à apprendre à coder ...

Merci d'avance .

Lien vers le commentaire
Partager sur d’autres sites

C'est déjà largement suffisant pour commencer je pense. Reste à détecter les éventuels problèmes...

Un truc qui mouline pendant des plombes, et qui fonctionne juste après, je verrais bien un soucis coté MySQL qui est "masqué" grâce au cache de requête. Mais ce n'est qu'une supposition... Voir ce qu'il en est dans le log "slow queries".

Lien vers le commentaire
Partager sur d’autres sites

Voila apres une journée , de monitoring, les valeurs que je recois :

INFORMATION : le trafic sur mon site durant le monitoring, correspond a la moyenne general de trafic on va dire ...

1.png

2.png

3.png

4.png

5.png

6.png

7.png

8.png

9.png

10.png

11.png

12.png

13.png

14.png

15.png

16.png

17.png

18.png

Bon moi personellement , je n'ai jamais optimisé de serveur, mais au vu de ces valeurs, je trouve cela plutôt correct et je ne vois pas trop d'où mon souci peut provenir !

Concernant le probleme d'accéssibilité de mon site voici ce que DNSstuff me renvoi ... ça à l'air egalement a peu pres correct !

Resultat d'analyse des DNS

Je vous laisse le soin d'analyser tout cela avec vos yeux de spécialistes ...

Merci d'avance .

PS : impossible d'avoir une courbe sur les plugins traitant des ressources APACHE ... une idée ?

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...