1

Re: Internal Server Error

Ton forum semble anormalement lourd !

Bizar... Fut un temps j'ai eu :
- PhpBB
- Invision Board
- VBulletin
- PunBB

d'installer sur LesCigales et ça fonctionnait au poil... Je sais pas sur quoi est basé ton forum, mais c'est très lourd, et ça semble pas tip-top coder ton affaire! Trop de mod's et autres hack's peut être ?!

Re: Internal Server Error

Je te conseille d'esseyer php-bb, c'est le meilleur pour le moment et le plus rapide avec une interface facile à gérer, suffit juste de poster une simple recherche sur google pour avoir les liens de telechargements du forum et de ses options ;-)

3

Re: Internal Server Error

Salut Randal,

Effectivement il doit y avoir un problème quelque part, encore que toute remarque sur des mauvaises performances est importante pour moi.

Le server internal error que tu décris vient sûrement du fait que le process php devient trop long, et le serveur web apache se retrouve obligé de le tuer. Par défaut sur lesCigales.ORG ce timeout est configuré pour être égal à 20 secondes, c'est à dire que pendant 20 secondes ton script ne renvoit rien au serveur qui décide de le tuer, pensant qu'il ne marchera pas. Un debug complet de ton script pour voir quelles parties ralentissent est nécessaire (Je peux peut être aider là dessus).

Pour ta seconde question, c'est marqué dans le control panel à la page 'MySQL', le max_connexion_user pour les membres gratuits est par défaut mis à 4 smile

Voilà, en espérant t'avoir été utile, à très bientôt

lesCigales.ORG sysadm1n
L'hébergeur qui sent bon la lavande - Un control panel qu'il est chouette - Viendez nous parler!
"All that is necessary for evil to triumph is for good men to do nothing."

4

Re: Internal Server Error

Je viens de regarder un peu et oui il y a un gros souci avec ton forum: il a fait monter la charge du serveur à 11 avec ce genre de requêtes:

811353  bp3_mysql       localhost       bp3_mysql       Query   289     Copying to tmp table    SELECT messages.id, messages.timestamp, messages.message, messages.id_ref, membres.pseudo, COUNT(mes
811382  bp3_mysql       localhost       bp3_mysql       Query   270     Copying to tmp table    SELECT messages.id, messages.timestamp, messages.message, messages.id_ref, membres.pseudo, COUNT(mes
811383  bp3_mysql       localhost       bp3_mysql       Query   226     Copying to tmp table    SELECT messages.id, messages.timestamp, messages.message, messages.id_ref, membres.pseudo, COUNT(mes
811385  bp3_mysql       localhost       bp3_mysql       Query   226     Copying to tmp table    SELECT messages.id, messages.timestamp, messages.message, messages.id_ref, membres.pseudo, COUNT(mes
811386  bp3_mysql       localhost       bp3_mysql       Query   226     Copying to tmp table    SELECT messages.id, messages.timestamp, messages.message, messages.id_ref, membres.pseudo, COUNT(mes
811408  bp3_mysql       localhost       bp3_mysql       Query   220     Copying to tmp table    SELECT messages.id, messages.timestamp, messages.message, messages.id_ref, membres.pseudo, COUNT(mes
811409  bp3_mysql       localhost       bp3_mysql       Query   208     Copying to tmp table    SELECT messages.id, messages.timestamp, messages.message, messages.id_ref, membres.pseudo, COUNT(mes
811410  bp3_mysql       localhost       bp3_mysql       Query   208     Copying to tmp table    SELECT messages.id, messages.timestamp, messages.message, messages.id_ref, membres.pseudo, COUNT(mes

Apparement ces requêtes sont appellées de temps en temps, lors de l'affichage du forum.

Log de la requête complète (lors de la création de la table temporaire):
812221  bp3_mysql       localhost       bp3_mysql       Query   12      Copying to tmp table    SELECT messages.id, messages.timestamp, messages.message, messages.id_ref, membres.pseudo, COUNT(messages2.id) AS nb\n\t\t\t\tFROM messages\n\t\t\t\tLEFT JOIN membres ON membres.id = messages.membre\n\t\t\t\tLEFT JOIN messages AS messages2 ON messages2.id < messages.id  AND messages2.statut != 0 AND messages2.statut != 0.1 AND messages2.statut != 2 AND messages2.statut != 3 AND messages2.id_ref = messages.id_ref\n\t\t\t\tLEFT JOIN topics ON topics.id = messages.id_ref\n\t\t\t\tWHERE topics.id_ref = 1 AND messages.statut != 0 AND messages.statut != 0.1 AND messages.statut != 2 AND messages.statut != 3 AND topics.statut != 0\n\t\t\t\tGROUP BY messages.id\n\t\t\t\tORDER BY messages.id DESC LIMIT 1

Essaie de voir ou sont appellées ces requêtes, check un 'explain' sur elles, essaie de rajouter des indexes mais je ne peux pas laisser le forum en ligne si il consomme autant hmm

lesCigales.ORG sysadm1n
L'hébergeur qui sent bon la lavande - Un control panel qu'il est chouette - Viendez nous parler!
"All that is necessary for evil to triumph is for good men to do nothing."

5

Re: Internal Server Error

Je viens de faire un test sur le serveur et cette requête est bizarre, horrible:

SELECT messages.id, messages.timestamp, messages.message, messages.id_ref, membres.pseudo, COUNT(messages2.id) AS nb FROM messages
LEFT JOIN membres ON membres.id = messages.membre
LEFT JOIN messages AS messages2 ON messages2.id < messages.id  AND messages2.statut != 0 AND messages2.statut != 0.1 AND messages2.statut != 2 AND messages2.statut != 3 AND messages2.id_ref = messages.id_ref
LEFT JOIN topics ON topics.id = messages.id_ref
WHERE topics.id_ref = 1 AND messages.statut != 0 AND messages.statut != 0.1 AND messages.statut != 2 AND messages.statut != 3 AND topics.statut != 0
GROUP BY messages.id
ORDER BY messages.id DESC LIMIT 1

Cette requête scanne (tiens toi bien) 3,093,584,400 de lignes (rows). Oui 3 milliards de lignes, selon un explain:

id     select_type     table     type     possible_keys     key     key_len     ref     rows     Extra
1     SIMPLE     messages     ALL     NULL     NULL     NULL     NULL     4635     Using where; Using temporary; Using filesort
1     SIMPLE     topics     ref     id     id     3     bp3_mysql.messages.id_ref     12     Using where
1     SIMPLE     membres     ref     id     id     3     bp3_mysql.messages.membre     12     
1     SIMPLE     messages2     ALL     id     NULL     NULL     NULL     4635

lesCigales.ORG sysadm1n
L'hébergeur qui sent bon la lavande - Un control panel qu'il est chouette - Viendez nous parler!
"All that is necessary for evil to triumph is for good men to do nothing."

6

Re: Internal Server Error

En voulant redémarrer le serveur mysql, une erreur est survenue avec la carte et le serveur a du être rebooté, mais tout devrait tourner nickel maintenant smile

lesCigales.ORG sysadm1n
L'hébergeur qui sent bon la lavande - Un control panel qu'il est chouette - Viendez nous parler!
"All that is necessary for evil to triumph is for good men to do nothing."

7

Re: Internal Server Error

Bon randal, j'ai changé un peu la config mysql pour arranger ton histoire de forum, mais rien à faire, tu es donc prié de le retirer du serveur hmm

Désolé.

lesCigales.ORG sysadm1n
L'hébergeur qui sent bon la lavande - Un control panel qu'il est chouette - Viendez nous parler!
"All that is necessary for evil to triumph is for good men to do nothing."

8

Re: Internal Server Error

Ok nickel smile
Tu peux lui dire de passer ici en cas.

Bonne soirée

lesCigales.ORG sysadm1n
L'hébergeur qui sent bon la lavande - Un control panel qu'il est chouette - Viendez nous parler!
"All that is necessary for evil to triumph is for good men to do nothing."

9

Re: Internal Server Error

A quoi bon ré-inventer la roue ?! Nombre de forums PHP gratuits existent sur le Net !

On a déjà tout ce qu'il faut de se côté la... Enfin ce n'est que mon avis wink

10

Re: Internal Server Error

D'ailleurs punBB est très bien à ce niveau là, apparement léger, aucun souci, sobre, fonctionnel.

lesCigales.ORG sysadm1n
L'hébergeur qui sent bon la lavande - Un control panel qu'il est chouette - Viendez nous parler!
"All that is necessary for evil to triumph is for good men to do nothing."