You are not logged in.
Bonjour,
J'ai monté un environnement HA de GLPI sur 2 serveurs Apache 2.2 / PHP 5.3, avec en frontal un load balancer (haproxy).
Le dossier "files" de GLPI est commun aux 2 machines via un partage NFS provenant d'un NAS.
Le tout fonctionne... mais mal...
C'est à dire que GLPI est fonctionnel, mais je remarque de forts ralentissements intermittents (peut prendre jusqu'à 40 secondes / 1 minute), surtout lorsqu'un y a préchargement de champs en AJAX...
Pourtant, j'ai effectué des tests de transferts sur le share NFS, et cela donne des débits corrects entre 50-60 MB/s en écriture/lecture.
Avez-vous déjà rencontré un tel phénomène? Est-ce dû à PHP ? A la programmation de GLPI ? Au cache ?
Merci d'avance de vos conseils et retours d'expériences.
Follonier Fred.
Offline
Essaye sans avoir de nfs de monté (en local). Possible que ça soit le load balancer qui pose soucis, faudrait peut être aussi mettre en place Memcached qui pourrait éviter aux apache de se vautrer avec les sessions
Offline
Sur le disque local ça marche très bien.
Serait-ce le cache interne de glpi qui pourrait poser problème s'il est partagé ?
Sinon au sujet de Memcached, ça se met en place facilement ? Que faut il changer au niveau de glpi pour qu'il l'utilise ?
Merci d'avance
Offline
Il n'y a plus de cache interne dans les dernières versions de GLPI il me semble
Xavier Caillaud
Blog GLPI Infotel
Offline
Pour memcached, il n'y a rien a faire au niveau de GLPI, c'est automatique.
C'est peut être que ton NFS n'autorise pas à écrire le même fichier par 2 machines différentes en même temps
Offline
Au niveau de l'écriture depuis les 2 machines, il n'y a pas de problèmes. J'utilise le même share pour d'autres choses.
Je suis tombé après plusieurs recherches sur un blog intéressant :
http://php.webtutor.pl/en/2011/06/02/ru … -solution/
On y dit que des applications PHP tels que Drupa, Joomla, etc, usent et abusent de directives include_once() et require_once(), lesquels ne sont pas mise en cache par NFS, donc peuvent causer des latences importantes.
Est-ce le cas également dans GLPI ?
Merci d'avance de votre aide appréciée.
Follonier Fred
Offline
Non, pas de include ou require dans le dossier files
Offline
à tester
1/ sessions en base de données ou mieux en mémoire (extension memcache ou memcached). GLPI est prévu pour fonctionner avec
2/ cache d'opcode (APC) avec désactivation de apc.stat
3/ dupliquer les pages sur tous les frontaux, utiliser NFS uniquement pour "files"
4/ passer toutes les taches automatiques en mode CLI
J'ai quelques tests à faire sur la réduction d'appels systèmes (stat) en passant sur des chemins absolus et non relatifs. Mais cela n'affecte que les système de fichiers partagé plus lent (comme GFS). Mais les points 2 ou 3 doivent suffire pour ce problème.
Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/
Offline
Merci remi pour ces suggestions.
Je vais les tester en début de semaine prochaine et mettrais un feed-back.
Bonne après-midi.
Fred
Offline
Après plusieurs tests, essais, (faux) espoirs, je suis enfin arrivé au bout de mes conclusions.
Si je passe mon partage NFSv3 en NFSv4, le problème de perf disparait de manière presque "magique".
Sinon en NFSv3, le problème semble être au niveau du stockage des sessions.
Y a-t-il moyen de stocker les cookie ailleurs que dans files/_sessions ? P.ex. le directory de session indiqué dans la configuration php ?
Merci d'avance!
Fred
Offline