Aller au contenu
  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.

Messages recommandés

Posté(e)

Bonjour à toutes et à tous :coucou: ,

 

Vous l'avez constaté, le site connaît quelques problèmes. Plantage du genre "too many connections", "IPS Error", etc...

 

Les personnes bénévoles se penchent sur ces problèmes depuis plusieurs mois avec plusieurs solutions tentées qui ont réduits certains problèmes, mais à priori, il en reste quelques uns auquel nos amis chargés du bon fonctionnement du site, ont du mal à résoudre car cela ne fait pas partie des sujets qu'ils maitrisent totalement.

 

Donc ce topic est là pour que tout ceux que s'y connaissent en informatique et en réseaux, puissent apporter leur aide. On en appelle à vous, faites-vous connaître ici, et discutez entre vous sur ce sujet.

 

Akta, Sylvain, j'espère que ce topic pourra vous apporter quelques éléments de réponses de la parts de vos adhérents et des forumistes.

 

Pour rappel, voici les dernières infos de la part d'Akta sur le problème le plus épineux du site : (à vos suggestions amis de l'informatique :jap: ) :

 

- Il n'y a plus aucun problème de charge avec le serveur : Les 3Go de RAM ont corrigé ce problème

- Comme je l'ai expliqué, la base commence a contenir beaucoup d'enregistrements (elle pèse plus d'1Go) et MySQL n'aime pas les grosses bases.

- MySQL plante (se fige) pour une/des raison(s) totalement inconnue(s). Des experts DBA avec qui je travaille n'ont jamais vu ça (je suis pas "expert" DBA, je suis juste "expert" en Systèmes/Réseaux et Sécurité). Pour le plantage de ce matin, un strace sur le process n'a rien montré de probant (même gdb n'a rien montré...) hormis un "too many connexions" habituel avec ...0 users connectés... (netstat...) et 0 process APACHE (j'ai arrêté Apache pour débugger...). Malheureusement, ON NE TROUVE PAS LE PROBLEME.

 

- Les solutions identifiées sont au nombre de ... 2

 

1. Migrer la base MySQL sous le moteur PostGreSQL. J'ai jamais fait mais ça n'a pas l'air trop complexe. Il faut juste passer pas mal de temps dessus pour remonter une plateforme à la maison et bricoler la base. Maintenant, le résultat est loin d'être garanti.

2. Arrêter le serveur pendant 1 WE / Semaine et effectuer une réinstall complète de la machine avec un autre OS (perso j'aime plus trop Linux, je préfère revenir aux source... un bon vieux BSD sera beaucoup plus performant, et pourquoi pas passer la base sous Postgres au passage.

 

Akta

Posté(e)

Voila je commence,

 

Marckovitch, grande gueule devant l'éternel :bigsmile:

Développement d’application en VB, VBA, VB.Net, Formation d’Admin réseaux Windows / Linux orienté sécurité…

Et à mes heures perdues, webmaster du site et du forum de l’Arsouye Team (Joomla / Mysql / Phpbb2)

 

 

 

 

Posté(e)

Ca m'épate qu'il n'y ait pas plus d'informaticiens que ça tout de même :unsure:

Posté(e)

Tony si tu n'as pas la fonction recherche et que tu ne viens pas souvent, retrouver un sujet est impossible...

en plus c'est le week end...

Posté(e)
Ca m'épate qu'il n'y ait pas plus d'informaticiens que ça tout de même :unsure:

attendez un peu ;)

Posté(e)

L'informatique c'est très vaste. Bien qu'informaticien ce n'est pas ma spécialité.

 

 

:coucou:

Posté(e)

J'arrive :bigthumbup: :coucou:

 

Comment intervenir en cas de problème de connexion au serveur mysql.

 

Too Many Connections

 

Lorsque vous avez un message au niveau d'un de vos scripts php cela veut dire que le serveur mysql a ouvert le nombre maximal de connexions autorisées.

 

Deux solutions:

 

Adapter le script faisant les appels à la base en limitant le nombre de connexion qu'il fait à la base, n'oubliez pas de fermer chaque connexion a la base lorsque cela n'est plus nécessaire.

Augmenter le nombre de connexion autorisée par mysqld

J'attire votre attention sur le fait qu'augmenter le nombre de connexions augmente le nombre de requètes possible en même temps, ce qui abouti généralement a une augmentation de la charge du serveur.

 

Pour augmenter le nombre de connexions possible:

 

Editer le fichier /etc/mysql/my.cnf Dans la section Mysqld

 

Ajoutez ou modifiez la ligne: max_connections=100

 

Redémarrez ensuite mysql par la commande suivante:

 

# /etc/init.d/mysqld restartPour ne pas saturer le serveur, le mieux est de procéder pas à pas en augmentant la valeur par palier de 10 et d'observer la charge du serveur en heure de pointe de votre site.

 

 

ATTENTION : Je propose juste mon aide concernant les serveurs. Mais faire très attention pour ne pas déstabiliser le serveur !!!

 

J'espère que vous avez un serveur de backup ( une sauvegarde en gros !!! qui ne risque rien )

 

En ce qui concerne : IPS Error ou message de type

 

http://marmotproject.phpnet.org/Forum/index.php?showtopic=47

 

Je réfléchis !!! :bigsmile:

 

Pourquoi vous ne mettez pas votre site sur le serveur d'un hébergeur. ??? ( c'est pratique mantenance assurée !!! mais faut voir le prix :bigsmile: )

 

C'est quoi vos serveur comme modèle ?

 

 

 

 

 

 

Posté(e)

si tu veux, tu fais des copier/coller de ce que tu trouves sur internet, qui au passage est la B-A BA de l'admin d'un serveur :bigsmile:

c'est gentil aussi de nous expliquer ce qu'est un backup :bigsmile:

Posté(e)

oui :bigthumbup:

 

mais je suis aussi ingénieur système et réseau. :bigthumbup:

 

J'ai fais un copié collé vite fait par flème. :bigsmile: c vrai :bigsmile:

 

Sinon moi c'est vérifier le fonctionnement des réseaux et la sécurité dans les entreprises.

 

Pour ce qui est l'hébergement d'un site , j'essaye de m'y mettre car j'ai encore un sacré morceau à apprendre.

 

 

 

 

 

Et je précise que je ne suis pas un pirate. A force je doit passer pour un con. :bigsmile:

 

Quand je précise backup c'est normal, car quand je vais dans les entreprises ( je ne site pas de nom ) y'en a qui ne comprenne rien du tout mais vraiment rien. Comme bouger la souris devant l'écran pour faire bouger le pointeur à l'écran. :bigthumbup:

 

Ou insérer une disquette dans un lecteur cd ( les manges disques pionneer ).

Posté(e)
Sinon moi c'est vérifier le fonctionnement des réseaux et la sécurité dans les entreprises.

ben règle déjà tes problèmes de sécurité sur ton forum, parce que là y a des grosses failles, vu le contenu de tes tables :rolleyes:

Posté(e)

Loool!

 

"vive audi", merci pour tes conseils :)

 

On est quand même pas si glands.. Il n'y a aucun problème avec la config de MySQL. D'ailleurs, elle est méga optimisée. On peut difficilement faire mieux.

Pour l'hébergeur, Sylvain avait une machine dédiée chez OVH. L'OS était un RedHat..et j'aime pas RedHat :P. Trève de plaisanterie : On avait pas trop le choix des packages et hormis la recompile totale du système, ça devenait un peu galère à gérer. En plus la machine manquait méchamment de pèche.

 

Pour l'heure le serveur est très puissant et redondé avec du vrai raid matériel et tout et tout.

 

L'initiative est louable mais je doute que quiconque ne trouve le problème de MySQL sur la plateforme. On ne va pas donner le root à tout le monde.

Je maîtrise le système et mes lacunes en bases de données sont comblées par des amis dont c'est le métier (et qui sont des experts reconnus dans ce domaine...).

 

Maintenant, certaines personnes ont peut être déjà eu ce problème...

 

Je pense que notre salut est dans PostGres...

 

A bientôt!

 

Akta

Posté(e)
Ca m'épate qu'il n'y ait pas plus d'informaticiens que ça tout de même :unsure:

 

Informaticien c'est large comme le dit Billeuz !

Je suis Responsable Systèmes et Réseaux et MySQL je ne connais absolument pas !

Mon truc en base de données c'est plus Oracle... donc si un jour vous y venez why not :bigthumbup:

Il existe une version gratuite : http://www.oracle.com/technology/software/...e/xe/index.html

:coucou:

Posté(e) (modifié)

Salut tout le monde,

 

Mes questions et remarques :

 

1- Est-ce du PHP que vous utilisez ? Si oui quelle version ?

2- Fermez-vous les connexions après les avoir ouvertes ? A titre d'exemple, j'ai développé un Intranet pour AXA, base MYSQL, serveur Apache, langage PHP (Utilisation de la techno LAMP, via une plateforme PhpMyAdmin) et voici le schéma que j'utilisais :

 

$serveur="localhost";

$user="root";

$mdp="";

$base="axafp";

 

//connection et selection de la base

$connexion=mysql_connect($serveur,$user,$mdp);

mysql_select_db($base,$connexion);

 

... (x requêtes)

mysql_close($connexion);

 

Je précise que je ne sais pas du tout où vous en êtes donc je fais quelques propositions mais je ne remets en aucun cas en cause les compétences de ceux qui gèrent le forum :) J'essaie juste d'évaluer les différents choix qui s'offrent à nous

 

3- Je n'ai jamais entendu de limite en taille sur les bases Mysql... Puis-je avoir une idée du nombre de tuples contenus dans la base, dans la plus grosse table ? Sur quel système d'index fonctionnez-vous ? Juste des index primaires ? Index primaires + secondaires ?

 

L'ajout d'index pourra éventuellement résoudre un pic de requêtes en ce sens où les accès aux données se feront plus rapidement, ca évitera de verrouiller des données inutilement (sur lesquelles d'autres requêtes en attente portent), et ca libérera plus vite les occurences des tables.

 

Je me renseigne sur les limites de mysql, mais à mon avis le pb se situe soit au niveau du code, soit au niveau de la conception des tables, soit au niveau du paramétrage de Mysql

 

J'y verrai plus clair avec vos réponses :)

 

Merci

Silvain

 

PS: Voici un lien sur l'un des meilleurs forums informatiques, rubrique Mysql, qui précise les variables ou les paramètres gérant les limites de taille à tous les niveaux : http://mysql.developpez.com/faq/?page=SYNTAXE_VALEURS_MAX

Modifié par Silvain59
Posté(e)

Même si certaines infos sont basiques pour certains, je tiens à remercier ceux qui propose déjà quelques éléments de solution. Merci à vous :jap:

Posté(e)
Salut tout le monde,

 

Mes questions et remarques :

 

1- Est-ce du PHP que vous utilisez ? Si oui quelle version ?

2- Fermez-vous les connexions après les avoir ouvertes ? A titre d'exemple, j'ai développé un Intranet pour AXA, base MYSQL, serveur Apache, langage PHP (Utilisation de la techno LAMP, via une plateforme PhpMyAdmin) et voici le schéma que j'utilisais :

 

$serveur="localhost";

$user="root";

$mdp="";

$base="axafp";

 

//connection et selection de la base

$connexion=mysql_connect($serveur,$user,$mdp);

mysql_select_db($base,$connexion);

 

... (x requêtes)

mysql_close($connexion);

 

Je précise que je ne sais pas du tout où vous en êtes donc je fais quelques propositions mais je ne remets en aucun cas en cause les compétences de ceux qui gèrent le forum :) J'essaie juste d'évaluer les différents choix qui s'offrent à nous

 

3- Je n'ai jamais entendu de limite en taille sur les bases Mysql... Puis-je avoir une idée du nombre de tuples contenus dans la base, dans la plus grosse table ? Sur quel système d'index fonctionnez-vous ? Juste des index primaires ? Index primaires + secondaires ?

 

L'ajout d'index pourra éventuellement résoudre un pic de requêtes en ce sens où les accès aux données se feront plus rapidement, ca évitera de verrouiller des données inutilement (sur lesquelles d'autres requêtes en attente portent), et ca libérera plus vite les occurences des tables.

 

Je me renseigne sur les limites de mysql, mais à mon avis le pb se situe soit au niveau du code, soit au niveau de la conception des tables, soit au niveau du paramétrage de Mysql

 

J'y verrai plus clair avec vos réponses :)

 

Merci

Silvain

 

PS: Voici un lien sur l'un des meilleurs forums informatiques, rubrique Mysql, qui précise les variables ou les paramètres gérant les limites de taille à tous les niveaux : http://mysql.developpez.com/faq/?page=SYNTAXE_VALEURS_MAX

 

Sylvain59,

 

le Forum est un produit commercial (IPB) écrit en PHP. Ce forum est énormément utilisé et il n'y a pas de problème de gestion MySQL avec. Le code est relativement clean :)

 

Par contre pour ton info, ouvrir une base en "root" c'est très très très très très mal...

 

Akta

Posté(e) (modifié)

lol akta j'ai changé et remis par défaut ce qui est d'origine lorsque tu programmes avec une base en local sur ton poste. Mais en effet le code de l'appli intranet de AXA ne voit pas une telle chose ;)

 

Sinon je me doute que le code est clean, je ne remets pas du tout cela en cause, mais l'erreur vient tout de même bien de quelque part ! Et si le code php est ok, il est certain que ca provient des accès aux bases. Alors soit la gestion pure de la base a une faille, soit les machines qui l'hébergent ne sont pas assez performantes... pb matériel ou pb de base, là est la question. Par ailleurs je me souviens que tu aies écris dans un précédent poste que vous utilisez des disques RAID. Est-ce du RAID 1, du RAID 5, du RAID 10 ?

 

Silvain

Modifié par Silvain59
Posté(e)
lol akta j'ai changé et remis par défaut ce qui est d'origine lorsque tu programmes avec une base en local sur ton poste. Mais en effet le code de l'appli intranet de AXA ne voit pas une telle chose ;)

 

Sinon je me doute que le code est clean, je ne remets pas du tout cela en cause, mais l'erreur vient tout de même bien de quelque part ! Et si le code php est ok, il est certain que ca provient des accès aux bases. Alors soit la gestion pure de la base a une faille, soit les machines qui l'hébergent ne sont pas assez performantes... pb matériel ou pb de base, là est la question. Par ailleurs je me souviens que tu aies écris dans un précédent poste que vous utilisez des disques RAID. Est-ce du RAID 1, du RAID 5, du RAID 10 ?

 

Silvain

 

Bonsoir,

 

C'est du RAID 1.

Par contre il n'y a pas de problème matériel connu, juste un nombre anormal de com qui ne se ferment pas dans MySQL.

J'ai peut être une piste soulevée par btt... Il faut que je vois ça avec le gestionnaire du forum. La pub peut mal fermer les coms...

Le moteur de pub est hideux.

 

A suivre...

Posté(e)
C'est du RAID 1.

ok donc en effet il n'y aura pas de pb matériel, le RAID 1 étant le top

Posté(e)

Je reprends ce que j'ai dit dans un autre post :

 

Pour en venir au problème qui nous occupe, je pense que MySQL peut être arrivé à saturation. 1Go de données à gérer sur le web ça me parait plutôt énorme. Une solution parallèle et/ou en amont à la migration, serait "tout simplement" de faire un peu de ménage... Oui, je sais, c'est très simple à énoncer comme ça, mais faut s'y coller et ça c'est une autre paire de manches. Pour que ça soit viable et efficace, je vois cependant une solution qui mettrait tout le monde à contribution sans que ça charge trop les administrateurs et modérateurs du forum :

 

Chaque intervenant régulier pourrait ausculter une partie du forum et signaler à l'équipe de gestion les messages pouvant être supprimés ou archivés, à commencer par nos propres messages.

 

On pourrait aussi mettre en place des règles de gestion selon l'âge d'un message et/ou de sa popularité. A une date limite fixée, on devrait choisir entre conserver le message, le supprimer ou l'archiver.

 

Par exemple, je pense à tous les post du genre : "je veux m'acheter une Audi, j'en ai vu 3, mais je sais pas laquelle choisir..." Ces messages deviennent rapidement superflus à moins qu'ils ne présentent un intérêt humoristique ou technique particulier. Par exemple, ma demande de conseil entre deux S3 d'il y a 15 jours - 3 semaines n'a plus aucune raison de rester en ligne dans la mesure où j'ai acheté l'une des deux voitures.

 

Dites-moi ce que vous en pensez.

Amicalement

Posté(e)

il y a des forums qui tournent avec des millions de messages sous mysql, mais l'idée de l'archivage au bout d'un certain temps est une piste que nous avons étudiée et partiellement appliquée.

Posté(e)

A mon avis, c'est pas une question de nombre de messages, mais de taille de la base...

Ensuite, comme déjà dit par quelqu'un d'autre, y a la qualité des index.

A+

Posté(e) (modifié)

+1 avec OlivierV, ayant soulevé auparavant une interrogation sur les index

 

Après je pense à ca, je n'avais pas du le gérer sous MySQL, mais récemment dans une mission à la SNCF on bossait sous Oracle 10g et je sais que les DBA étaient sans cesse en train de redimensionner les "TableSpace", les "System Files", car le volume des données augmentant on tombait systématiquement en erreur au bout d'un certain temps...

 

Visiblement sous MySQL on gère les espaces de table si vous utilisez le moteur de tables InnoDB (http://dev.mysql.com/doc/refman/5.0/fr/innodb.html). Est-ce le cas ? Si oui il serait intéressant d'augmenter la valeur des tablespace pour voir si ca diminue le nombre de plantages.

 

Silvain

Modifié par Silvain59
Posté(e)

non, nous n'utilisons pas InnoDB

Posté(e)

Pas de problème de tablespace sous MySQL en MyISAM.

Les index sont gérés par le moteur IPB. Nous n'avons pas la main dessus.

 

Par contre, depuis que la régie pub a été supprimée, tout semble mieux fonctionner.

 

J'ai regardé rapidement le code de l'application et elle ne semble pas bien fermer les coms. C'est surement la source du problème, sachant que la bannière est chargée à chaque page du forum...

 

Voilà!

 

A suivre,

 

Akta

Posté(e)

ok Akta, cool si ca a l'air de mieux tourner ;) Mais dis moi le site n'est pas géré en frame ? Tout la page, y compris la bannière, les menus, etc, sont chargés à chaque fois que le contenu de la navigation change ?

Posté(e)

Non il n'y a pas de Frame particulière pour la pub.

 

Tout est en CSS. Les frames c'est plus trop à la mode maintenant :P

 

Mais on ne peut rien y changer. C'est IPB qui est comme ça... et ça tourne bien :)

 

Akta

Posté(e) (modifié)

ok Akta

 

Sur les frames, je ne serai pas aussi catégorique que toi, avec tout ce que je rencontre et les connaissances que j'ai dans le milieu du web mais bon c'est un autre débat ;)

 

Silvain

Modifié par Silvain59
Posté(e) (modifié)

@Silvain59........petit malin...j'ai été obliger d'editer.......;)

Modifié par Bartouille
Posté(e)

lol Bartouille, j'avais cité Akta initialement et puis je me suis rendu compte que c'était ridicule donc je l'ai enlevé pour ne pas surcharger le topic :)

  • 3 semaines plus tard...
Posté(e)

Bonjour tout le monde.

Puisque c'est un appel aux informaticiens je me lance aussi.

je suis responsable info systeme et réseaux dans une boite de 250 pers.

étant tout seul dans le service avec une assistante je touche un peu à tout, dev intranet avec bases mssql et mysql.

Que du banal.

 

juste une petite remarque.

en fait je me connecte sur le site de chez moi et aussi du taf :rolleyes:

et en fait mes sessions reste ouvertes en permanence à moins de me déconnecter manuellement, mais évidement vous le savez déja mais y'a rien à faire par rapport à ça ?

ça pose pas un probleme toutes ces sessions qui restes ouvertes en permanence.

 

je n'ai plus remarqué aucun probleme d'erreur à la connexion sur le forum.

Vous avez fini par trouver la solution?

Si oui bravo.

 

Jay

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

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