Annonce

  •  » Utilisation
  •  » Uploads quasi-impossibles sur un nouveau serveur O_o

#1 2014-01-26 05:29:23

oliverfr
Membre
2013-04-27
184

Uploads quasi-impossibles sur un nouveau serveur O_o

Mise à jour : le problème n'est toujours pas résolu, mais il y a de nouveaux développements... scrollez vers le bas du post ! ;)

Bonjour bonjour !

Il y a quelques temps, je vous avais demandé si piwigo tiendrait la charge pour un grand afflux de traffic, car j'y avais fortement intéressé un ami.

Hé bien là, piwigo a été installé sur le nouveau serveur, ayet :)

Cependant, les tests sont catastrophiques, et c'est à s'en arracher les cheveux, pas moyen de trouver pourquoi.

Si on uploade une gallerie à la fois, ça va.
Si on a le malheur d'oser vouloir uploader plusieurs galleries simutanément, patatras, le serveur se retrouve à genoux, et PHP se met en grève.

[warn] mod_fcgid: can't apply process slot for /chemin/fcgi-bin/php5.fcgi, referer: http://site.net/piwigo/index.php?/category/835/start-60
[warn] [client IP] mod_fcgid: read data timeout in 91 seconds

J'ai aussi vu des locks impossibles.

Des centaines, des milliers, la totalité des tentatives d'accès à piwigo et aux pages utilisant du PHP !

Et non seulement ça fera ça pour les pages piwigo, mais tous les sites reposant sur du PHP sont affectés pareil, les pages ne chargeant plus dans leur navigateur, ça tue le PHP au niveau du serveur.

Je suis assez embarrassé sur le coup, moi quand je testais piwigo chez moi, je pouvais uploader sur 8 galleries à la fois (oui, bon, parfois on s'ennuie et on fait les tests les plus bizarres, hein :D ), et sans souci aucun.

Le serveur, c'est un debian Wheezy tout neuf, Webmin + VirtualMin. Chez OVH en Host-32, cad un proc phénoménal, du disque dur SSD en Raid-1, et 32 Go de RAM (j'en bave d'envie.)
Alors, on a essayé divers paramétrages, passer les max_execution_time à 90, max_input_time = 60, memory_limit = 192M, upload_max_filesize = 4M, max_file_uploads = 20
Dans les paramètres du module fcgid dans /etc/apache2/mod-available/fcgid.conf, aussi :
<IfModule mod_fcgid.c>
  AddHandler    fcgid-script .fcgi
  FcgidConnectTimeout 60
  MaxProcessCount 3
  MaxRequestLen 33554432
</IfModule>

... rien n'y a fait.

Et là, beeen... on sèche.

Vous verriez d'autres explications possibles, des moyens de débugger, des paramètres importants qu'on aurait manqués ?
Si vous en avez, merci, merci beaucoup !! :)

Et si vous n'en avez pas, d'idée miraculeuse, baaaah... bon dimanche malgré tout, il n'y a pas de raisons ! ;)

Dernière modification par oliverfr (2014-02-12 11:11:11)

Hors ligne

#2 2014-01-26 06:06:17

kdedino
Invité

Re: Uploads quasi-impossibles sur un nouveau serveur O_o

Bonjour à tous,
Kdedino suit l'affaire. Le temps de prendre un ptit dej en reflechissant.

Cordialement
kdedino

#3 2014-01-26 07:17:24

kdedino
Invité

Re: Uploads quasi-impossibles sur un nouveau serveur O_o

bonjour à tous,
1ere question à se poser, comment installer piwigo chez ovh ?
2éme question, y a t-il un htaccess ? http://guide.ovh.com/Php5ChezOvh (ca serait bien de tester pour mettre à jour sur le dokuwiki)
3eme question, quelle version php / bdd utilise -t on ?
4eme question, y aurait il plusieurs galleries ?
5eme question, y aurait il une personne qui aurait installé piwigo chez ovh ? Oui, il me semble qu'il y aurait de memoire il y a dd...

tout cela n'est qu'une idée

Cordialement
kdedino

#4 2014-01-26 13:46:31

oliverfr
Membre
2013-04-27
184

Re: Uploads quasi-impossibles sur un nouveau serveur O_o

Bonjour, merci de vos retours !

Ben, moi j'ai un kimsufi à titre personnel (avec PHP 5.3.3-7, MySQL 5.1.72-2-log, debian squeeze, virtualmin), et je peux faire tourner une gallerie piwigo sans problème, en uploadant cinq ou même huit galleries simultanément sans souci.

Le serveur sur lequel ça plante est plus récent bien que similaire (5.4.4-14+deb7u7, MySQL 5.5.33, debian wheezy, virtualmin - c'est le même installeur).

Il n'y a qu'une seule installation piwigo sur le serveur qui a le problème.

Il n'y a qu'un seul moteur PHP d'installé, mais, oui, l'.htaccess mentionne bien PHP5.
A part ça, il y a juste quelques bannissements, les trucs de base de wordpress, et une fonction pour éviter les URLs trop longues (si j'ai bien compris, c'est pour les cas où une entrée n'est pas escapée correctement, pour réduire les risques) :
RewriteEngine on
RewriteCond %{REQUEST_URI} .{450}
RewriteRule (.*) - [F]
RewriteCond %{QUERY_STRING}  .{450}
RewriteRule (.*) - [F]

Qu'y aurait-il d'autre comme différence... Un filesystem et les bases de données sur SSD, tandis que les sites (/home/) sont en SATA (sur mon serveur à moi, tout est en SATA, mais je vois mal les SSD causer un problème, leur monitoring ne -//:---\spam pas de défaillances, il n'y a pas de mauvais secteurs).

On ne sait pas trop où chercher, si vous voyez d'autres informations pertinentes, n'hésitez pas :)

Dernière modification par oliverfr (2014-01-26 13:48:25)

Hors ligne

#5 2014-01-26 17:06:26

flop25
Équipe Piwigo
2006-07-06
6544

Re: Uploads quasi-impossibles sur un nouveau serveur O_o

attendez là, c'est quoi la puissance du kimsufi, parce que je connais l'affaire, j'en suis à mon troisième

Hors ligne

#6 2014-01-26 18:44:57

oliverfr
Membre
2013-04-27
184

Re: Uploads quasi-impossibles sur un nouveau serveur O_o

Mon kimsufi c'est un intel i5-2300 3.1 Ghz 4 coeurs. Le host-32 de OVH, heuuu... Après vérification sur le site de OVH puis sur google, c'est un AMD Opteron 4334, du 3.5 Ghz 6 coeurs.

Mais c'est sur le kimsufi, censément moins puissant, que piwigo marche parfaitement, hein.

A la rigueur, peut-être une réinstallation... Si l'on conserve le dossier /upload/ et la base de données, on peut supprimer tout le reste, pour le remplacer par une copie neuve ? Ou il faut garder d'autres dossiers, pour conserver les paramètres de l'installation existante ?
Je préférerais vraiment trouver pourquoi piwigo casse le moteur PHP (sinon, bah, ma suggestion de faire appel à Piwigo tombe aux oubliettes, tant pis), bien sûr, cependant tenter une réinstallation sera une solution de dernier recours...

Hors ligne

#7 2014-01-26 19:34:24

flop25
Équipe Piwigo
2006-07-06
6544

Re: Uploads quasi-impossibles sur un nouveau serveur O_o

ha je n'avais pas compris le coup de l'autre serveur

c'est obvious que c’est une config serveur qui pose problème. Piwigo.com des centaines installations sur un seul serveur.

Par conrte je suis mauvais syadmin donc je ne peux aider vraiment dsl Bonne chance

Hors ligne

#8 2014-01-28 12:12:57

oliverfr
Membre
2013-04-27
184

Re: Uploads quasi-impossibles sur un nouveau serveur O_o

Bonjour !

Yahaaa, le problème est résolu !

Alors, si vous êtes curieux, un infogérant est passé par là, le problème rédisant dans la valeur MaxProcessCount dans /etc/apache2/mods-available/fcgid.conf, qui était à un niveau trop bas de toutes façons, mais qui causait juste d'occasionnels ralentissements sans piwigo. Apparemment, une fois ajouté piwigo, c'était la goutte d'eau qui fait déborder le vase...  enfin... plutôt façon l'Obélix qui fait déborder la piscine.
En ce qui me concerne, je ne m'y connais pas assez pour comprendre ce qu'il se passe quand piwigo uploade des images, mais pour ce que j'en comprends, il tentait de tirer à lui bien plus que le serveur n'avait à offrir, et tout le système se bloquait.

Bon, voilà, case closed :)

Pardon d'avoir détourné votre temps, tous, et merci des tentatives d'aide :)

Hors ligne

#9 2014-01-28 12:31:53

k5
Équipe Piwigo
La reppe
2014-01-26
1302

Re: Uploads quasi-impossibles sur un nouveau serveur O_o

bonjour,
tout s'arrange !

Cordialement
k5


Piwigo 14.4 VM alpneLinux php 8.3.6
Piwigo 14.4 php 8.3.6 -- 8.3 mysql -- ImageMagick 7.1.1.30

Hors ligne

#10 2014-01-29 18:06:47

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12644

Re: Uploads quasi-impossibles sur un nouveau serveur O_o

flop25 a écrit:

Piwigo.com des centaines installations sur un seul serveur.

Plutôt des "milliers" par serveur :-)

Piwigo.com est aussi sur OVH mais avec des serveurs moins puissants. Piwigo est très peu gourmand en ressources (CPU, mémoire...). Notre machine type utilise un CPU i5-2400. En revanche on lance PHP avec mod_php dans Apache. Comme on n'a aucun soucis de perfs, on n'a pas trop chercher à optimiser avec nginx ou php-fpm.


Les historiens ont établi que Pierrick était le premier utilisateur connu de Piwigo.

Hors ligne

#11 2014-01-31 01:28:07

oliverfr
Membre
2013-04-27
184

Re: Uploads quasi-impossibles sur un nouveau serveur O_o

Bonjour,

Pas de bol, le problème est de retour, uploader des images avec piwigo tue le serveur :(

Augmenter le MaxProcessCount a réduit les occurences du problème, non en réglant le vrai problème, mais en libérant la capacité du serveur à ne pas s'écrouler sous la charge générée par piwigo.

Pendant les uploads, commande "top", la charge serveur passe de 3-10% (charge habituelle) à presque 100%, avec mysql consommant la quasi-totalité de la montée de charge. La commande "mpstat -P ALL 1" confirme que tous les coeurs sont également mis à charge, avec presque pas d'IOwait, pour mysql.
Et tandis que rame le serveur, les visiteurs demandant à voir des pages dynamiques se font massivement servir une erreur 503 forbidden, tandis que le Apache error_log accumule des tonnes d'erreurs mod_fcgid can't apply process slot for php5.fcgi.

Regardez-moi cet abominable /var/log/mysql/mysql-slow.log , j'en ai extrait ce qu'il s'y est rajouté en quelques minutes : 1712 lignes de log mysql causées par l'envoi d'un paquet de 5 ou 10 images.
Lien : http://pastebin.com/hmcUZ74u

C'est très étrange.

J'ai obtenu un accès complet pour tester, alors j'ai
- installé un piwigo tout neuf sur le même site web, dans un répertoire juste à côté : aucun problème à l'upload, tout marche bien
- sur ce piwigo tout neuf, j'ai copié la base existante de photos (/upload et /_data), le dossier /plugins, j'ai importé la base de données du piwigo originel en mettant juste à jour galleries_url dans la table piwigo_sites. Bref, j'ai dupliqué la gallerie cassée. J'ai lancé un upload... et aucun souci, l'upload se passe au poil.
- j'ai pris un piwigo tout neuf téléchargé depuis piwigo.org, j'ai lancé l'upload des fichiers pour écraser les fichiers présents dans le dossier du piwigo cassé. Testons l'upload : ah, de nouveau le CPU peake, Mysql accumule les slow_queries, et les visiteurs voient un serveur à genoux.

Si vous voulez les paramètres du serveur, au fait, un extrait :

Code:

/etc/apache2/mods-available 
<IfModule mod_fcgid.c>
  AddHandler  fcgid-script .fcgi
  FcgidConnectTimeout 60
  MaxProcessCount 400
  MaxRequestLen 33554432
</IfModule>

/etc/apache2/apache2.conf
Timeout 300
KeepAlive On
MaxKeepAliveRequests 200
KeepAliveTimeout 3
<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers      10
ServerLimit         600
MaxClients         600
    MaxRequestsPerChild   1000
</IfModule>

...

Et là, franchement, je cale. Vraiment, je ne comprends pas.

Certes, je pourrais dire "on repart à zéro et on croise les doigts, hé !", mais ça n'est pas sain. S'il y a quelque-chose de tellement cassé entre le serveur et piwigo et que l'on peut mettre à genoux en Host-32 de OVH en uploadant une douzaines d'images, il faut trouver pourquoi, et empêcher que ça se reproduise :(
Franchement je doute que ce soit de la faute de Piwigo, mais alors, quoi, what, où est le problème sur le serveur ?!?

Auriez-vous une idée sur la façon de débugger cela ?
Ou sur ce qui pourrait causer le problème ?

Merci énormément si vous avez votre idée là-dessus ! :)

- MAJ rapide : tiens, je viens de voir, il y a le même problème quand je supprime des images d'une gallerie. WTF sérieusement, haha ^^
Re-MAJ : je renomme une gallerie, j'ai un petit pic CPU. Sculder, Mully, êtes-vous là ? :D

Dernière modification par oliverfr (2014-01-31 15:52:51)

Hors ligne

#12 2014-02-12 11:08:59

oliverfr
Membre
2013-04-27
184

Re: Uploads quasi-impossibles sur un nouveau serveur O_o

Rebonjour ! Cela fait un bout de temps, je reviens sur ce problème...
J'ai fait davantage de tests, et uploader une gallerie, ou supprimer les images d'une gallerie, cela met le serveur toujours à genoux, la totalité du CPU y passe, en passant d'une charge moyenne de 10-20% à 100% (et, si on regarde coeur par coeur, 600%, tous les coeurs y passent, et 0% idle).

Mes tests ont tout de même circonscrit un peu l'origine du problème :

- dire à piwigo d'utiliser GD à la place de ImageMagick : aucun changement

- dupliquer la totalité de la gallerie piwigo fautive, fichiers et BDD : le clone marche au poil
... MAIS, et c'est un MAIS de taille : si les visiteurs sont redirigés sur le clone de la gallerie piwigo, au bout de quelques minutes, cette fois-ci c'est le clone qui va mettre le serveur à genoux si j'uploade/downloade des images. Tandis que le piwigo original, lui, délesté de ses visiteurs, remarche au poil quoi que nous testions.

- Confirmation de la découverte, si nous lockons la gallerie piwigo, pour être seuls dessus, les admins, là l'upload se passe parfaitement bien, le download aussi

Tenez, voici un pastebin de /var/log/mysql/mysql-slow.log , il y a eu plusieurs milliers de lignes supplémentaires pour quelques images, j'en ai fait un extrait :
http://pastebin.com/APKer7a5

...
En somme, c'est quand la gallerie a beaucoup de visiteurs que le bug se déclenche.
Comme si l'accès à la fois en lecture et en écriture posait problème.
C'est quand-même curieux, non ?

Le serveur est un Host-32 de OVH, avec les bases de données et le cache et le système installés sur 2 disques durs SSD en Raid-1, tandis que les sites web sont dans /home, sur 2 disques durs SATA en Raid-1.

A votre avis, est-ce que c'est possible que le bug soit lié, d'une manière ou d'une autre, au fonctionnement des disques SSD ? O_o
Le monitoring du serveur ne trouve rien de problématique avec les disques, tout est normal, pourtant...

Hors ligne

#13 2014-02-12 11:30:19

flop25
Équipe Piwigo
2006-07-06
6544

Re: Uploads quasi-impossibles sur un nouveau serveur O_o

vous avez une config locale ou un plugin perso ?

Hors ligne

#14 2014-02-12 11:38:06

oliverfr
Membre
2013-04-27
184

Re: Uploads quasi-impossibles sur un nouveau serveur O_o

Les plugins actifs sont :
Advanced Menu Manager, Comments On Albums, Grum Plugin classes.3, LocalFiles Editor, Statistics, Subscribe to Comments

Dans Local Files Editor > Local Config, il y a
$conf['derivative_default_size'] = 'large';

Il y a eu (puis ça a été enlevé, c'était pour tester)
$conf['graphics_library'] = 'gd';
$conf['show_exif'] = false;
$conf['use_exif'] = false;

Dans Local Files Editor > CSS, il y a
.browsePath{
width:75%;
(Aucune idée de pourquoi c'est là :D )

Et c'est tout...

Hors ligne

#15 2014-02-12 13:22:23

flop25
Équipe Piwigo
2006-07-06
6544

Re: Uploads quasi-impossibles sur un nouveau serveur O_o

oula
c'est clair qu'à 130 000 lignes examinées tt les 2sec, ça mouline sec!
ce sont des guest qui visitent ou des utilisateurs?
la table de USER_CACHE_CATEGORIES_TABLE (sans les maj) ets remplie ?

Hors ligne

  •  » Utilisation
  •  » Uploads quasi-impossibles sur un nouveau serveur O_o

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact