You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2023-05-16 17:11:35

fredb13
Member
Registered: 2023-05-16
Posts: 6

Configuration cache Redis sous GLPI 10.0.7

Bonjour,

Nous souhaitons utiliser Redis pour stocker le cache de GLPI.
La documentation ne semble pas à jour à ce sujet car elle indique que la configuration du cache est stockée dans la table glpi_configs de la base de données.
Or, en utilisation la commande cache:configure --dsn=redis://serveur/index, nous nous apercevons que la configuration est stockée dans le fichier /etc/glpi/cache.php

Le problème est qu'une fois le cache configuré sur Redis, des messages d'erreurs apparaissent dans le fichier de log /var/log/glpi/php-errors.log :

glpiphplog.WARNING:   *** PHP User Warning (512): Invalid configuration for cache context "translations". in /var/www/html/glpi/src/Cache/CacheManager.php at line 440
  Backtrace :
  src/Cache/CacheManager.php:440                     trigger_error()
  src/Cache/CacheManager.php:226                     Glpi\Cache\CacheManager->getRawConfig()
  src/Cache/CacheManager.php:212                     Glpi\Cache\CacheManager->getCacheStorageAdapter()
  src/Cache/CacheManager.php:296                     Glpi\Cache\CacheManager->getCacheInstance()
  src/Session.php:679                                Glpi\Cache\CacheManager->getTranslationsCacheInstance()
  inc/includes.php:59                                Session::loadLanguage()
  front/cron.php:40                                  include()

Nous avons essayé de modifier le fichier /etc/glpi/cache.php à la main pour ajouter une entrée translation, sans succés. Mais, nous avons lu dans le fichier /var/www/html/glpi/src/Cache/CacheManager.php que le contexte translation ne pouvait peut-être stocké ailleurs que sur le système de fichier :

// 'installer' and 'translations' cache storages cannot not be configured (they always use the filesystem storage)

D'où ma question : comment faire pour utiliser correctement Redis avec GLPI ?

Merci.

Offline

#2 2023-05-17 09:03:42

cedric-anne
Administrator
Registered: 2018-07-02
Posts: 83

Re: Configuration cache Redis sous GLPI 10.0.7

Bonjour,

Le cache "translations" n'est pas configurable, il ne devrait pas apparaître dans votre fichier de configuration. Avez-vous eu ce message d'erreur sans avoir au préalable modifié le fichier de configuration manuellement ? Si oui, pouvez-vous indiquer les étapes qui vous ont mené à ce problème ?

Offline

#3 2023-05-17 14:19:27

fredb13
Member
Registered: 2023-05-16
Posts: 6

Re: Configuration cache Redis sous GLPI 10.0.7

Bonjour,

oui, les messages sont apparus après avoir fait la configuration du cache avec la commande cache:configure --dsn=redis://serveur/index et avoir utilisé l'interface de GLPI.
Ceci étant, en repassant en cache local et relançant la commande, les messages ne semblent ne plus rapparaitre.

Nous souhaitons utiliser le cache Redis pour le partager entre 2 serveurs GLPI placés derrière un serveur Haproxy. Peut-on laisser un cache local "translations" pour chaque serveur ou doit-il être partagé via NFS (qui contient déjà le répertoire files/) ?

Merci.

Offline

#4 2023-06-08 17:31:36

fredb13
Member
Registered: 2023-05-16
Posts: 6

Re: Configuration cache Redis sous GLPI 10.0.7

Bonjour,

je repose ma question :  comment partager  le cache entre deux serveurs GLPI s'il n'est pas possible d'utiliser Redis ?

Merci.

Offline

#5 2023-06-09 11:14:09

cedric-anne
Administrator
Registered: 2018-07-02
Posts: 83

Re: Configuration cache Redis sous GLPI 10.0.7

Bonjour,

Vous n'êtes pas censé configurer le cache "translations". L'impact sur les performances est négligeable et le partage entre les différentes instances de GLPI ne me semble pas nécessaire.
Pour autant, si vous avez plusieurs frontaux, autant mettre le dossier `file/_cache` sur un NFS, au même titre que les autres dossiers `files` pour lesquels il faudra dans tous les cas un partage (documents par exemple).

Offline

#6 2023-07-04 08:45:36

fredb13
Member
Registered: 2023-05-16
Posts: 6

Re: Configuration cache Redis sous GLPI 10.0.7

Bonjour,

merci pour votre réponse.

Nous avons dû exclure le réperoire _sessions du partage via la variable GLPI_SESSION_DIR car les performances étaient catastrophiques lorsque qu'il était dans le NFS. Il nous semble que les performances sont également dégradées lorsque le répertoire _cache se trouve dans le NFS, c'est la raison pour laquelle nous nous sommes intéressés à REDIS.

Offline

#7 2024-04-16 18:52:41

ecollet
Member
Registered: 2019-07-29
Posts: 34

Re: Configuration cache Redis sous GLPI 10.0.7

bonjour
Je m'intéresse à ce sujet mais il y a une chose que je ne comprends pas bien :
qu'est ce qui est VRAIMENT mis dans le cache redis ?

j'ai bien compris que les sessions peuvent etre sur redis, mais ceci est indépendant de glpi

je parle bien de glpi

merci

Last edited by ecollet (2024-04-16 20:14:46)

Offline

#8 2024-04-17 15:25:18

cconard96
Moderator
Registered: 2018-07-31
Posts: 2,418
Website

Re: Configuration cache Redis sous GLPI 10.0.7

Bonjour,

J'espère pouvoir dissiper cette confusion.

Trois choses distinctes sont discutées ici. Sessions, cache de traduction et cache de données utilisateur.

Séances :
Si vous laissez le gestionnaire de session dans la configuration PHP défini sur "files" par défaut, GLPI définira le chemin de sauvegarde de la session vers le dossier _sessions. Si vous souhaitez stocker vos sessions dans Redis pour plus de performances, la configuration se fait entièrement dans votre fichier de configuration PHP. Vous devez installer et activer l'extension php-redis, changer le gestionnaire de session en "redis", puis le chemin de sauvegarde de la session vers votre redis (exemple : tcp://127.0.0.1:6379). Vous devrez peut-être expérimenter les différentes options redis.session liées aux verrous.

Cache de traduction :
Pour autant que je sache, cela est toujours stocké dans les fichiers du dossier _cache et ne peut pas être configuré.

Cache des données utilisateur :
C'est le type de cache qui peut être configuré avec la commande CLI. GLPI lui-même utilise le contexte "core". Par défaut, il stocke les données du cache dans le dossier _cache, mais vous pouvez le configurer pour utiliser Redis à la place.


GLPI Collaborator and Plugin Developer.
My non-English comments are automated translations. Sorry for any confusion that causes.
Mes commentaires non anglais sont des traductions automatiques. Désolé pour toute confusion qui cause.
Mis comentarios que no están en inglés son traducciones automáticas. Perdón por cualquier confusión que cause.

Offline

Board footer

Powered by FluxBB