Dokuwiki : Recherche très lente

Bonjour à toutes et tous,

Mon serveur YunoHost

Matériel: VPS KS-3 de chez Kimsufi
Version de YunoHost:

# yunohost --version
yunohost: 
  repo: stable
  version: 11.2.7
yunohost-admin: 
  repo: stable
  version: 11.2.3
moulinette: 
  repo: stable
  version: 11.2
ssowat: 
  repo: stable
  version: 11.2

J’ai accès à mon serveur : En SSH et par la webadmin
Êtes-vous dans un contexte particulier ou avez-vous effectué des modificiations particulières sur votre instance ? : non, rien de particulier, le problème est là depuis longtemps.

Description du problème

La recherche est devenue très lente sur mon wiki depuis quelques mois. Je n’ai jamais pris le temps d’investiguer, je ne sais pas exactement depuis quand le problème est présent mais ça rend l’utilisation du wiki problématique.

Si je fais une recherche un peu trop générique (par exemple “bash”) :

Si je fais une recherche plus spécifique, en général ça passe. Mais ça prend beaucoup trop de temps (du coup, ça casse mon élan, je pars sur autre chose et j’oublie ce que je voulais faire au départ…).

J’ai essayé d’augmenter la RAM allouée à PHP :

# cat /etc/php/8.2/fpm/php.ini | grep memory_limit
memory_limit = 128M

Mais je ne suis meme pas sur que DokuWiki utilise php8.2…

# ls -al /etc/php/
total 48
drwxr-xr-x   9 root root  4096 Nov 19 20:06 .
drwxr-xr-x 113 root root 12288 Nov 27 20:54 ..
drwxr-xr-x   5 root root  4096 Apr  7  2020 7.0
drwxr-xr-x   5 root root  4096 Apr  7  2020 7.3
drwxr-xr-x   5 root root  4096 Sep 13  2022 7.4
drwxr-xr-x   4 root root  4096 Oct 20 10:23 8.0
drwxr-xr-x   5 root root  4096 Oct  1  2022 8.1
drwxr-xr-x   5 root root  4096 Jul  4 16:10 8.2
drwxr-xr-x   3 root root  4096 Nov 19 19:35 8.3
-rw-r--r--   1 root root    27 Sep 17  2020 ynh_app_version

# cat /etc/php/ynh_app_version 
nextcloud:7.3
rainloop:7.3

Je ne sais pas trop comment investiguer ce problème, j’ai déjà essayé de regarder un peu partout et je suis un peu perdu. Quelqu’un aurait une idée ?

Merci d’avance

La configuration des variables PHP passe par PHP-FPM pour les applications sur YunoHost.

Pour la version 2023.04.04a~ynh1 de Dokuwiki, on utilise PHP8.1-FPM, donc le fichier de configuration à éditer est /etc/php/8.1/fpm/pool.d/dokuwiki.conf. Il faut ajouter le paramètre pour la mémoire de cette manière: php_admin_value[memory_limit] = 128M.

N’oublie pas de recharger le service PHP8.1-FPM.

1 Like

Bonjour @tituspijean, merci pour ta réponse.

Voici ce que j’ai fait :

$ sudo vim /etc/php/8.1/fpm/pool.d/dokuwiki__2.conf 

J’ai ajouté cette ligne :

$ sudo cat  /etc/php/8.1/fpm/pool.d/dokuwiki__2.conf | grep memory_limit
php_admin_value[memory_limit] = 128M

J’ai relancé le service :

$ sudo systemctl restart php8.1-fpm

Et j’ai ensuite regardé le statut :

$ sudo systemctl status php8.1-fpm
● php8.1-fpm.service - The PHP 8.1 FastCGI Process Manager
     Loaded: loaded (/lib/systemd/system/php8.1-fpm.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2023-11-28 12:55:24 UTC; 3min 3s ago
       Docs: man:php-fpm8.1(8)
    Process: 58551 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/8.1/fpm/pool.d/www.conf 81 (code=exited, status=0/SUCCESS)
   Main PID: 58548 (php-fpm8.1)
     Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
     Memory: 16.3M
        CPU: 205ms
     CGroup: /system.slice/php8.1-fpm.service
             ├─58548 php-fpm: master process (/etc/php/8.1/fpm/php-fpm.conf)
             ├─58549 php-fpm: pool www
             └─58550 php-fpm: pool www

J’ai plusieurs questions :

  • Pourquoi est-ce que je ne vois pas “pool dokuwiki” ou quelque chose du genre ? Si je regarde le service php8.2-fpm, j’ai par exemple une ligne pour nextcloud ( php-fpm: pool nextcloud )

  • Pendant une recherche sur le wiki (qui dure 30 secondes avant de planter), je ne vois pas la mémoire changer (dans le statut du service ou avec htop).

J’ai l’impression que le problème vient d’ailleurs…

Peux-tu confirmer que c’est bien l’ID de ton app, et sa version ?

Ok, là j’ai méga honte. :woozy_face:

J’ai deux serveurs yunohost. Il y a un dokuwiki sur les deux. Hier j’ai travaillé aussi sur un problème lié à Synapse sur le serveur A. Du coup, j’ai cherché à résoudre mes problèmes avec Dokuwiki sur le serveur A… Sauf que le problème de lenteur était sur le serveur B…

Du coup, les changements réalisés hier ne pouvaient rien changer. (Et à la vérification, le dokuwiki du serveur A semble tout à fait rapide pour les recherches mais il n’y a pas grand chose sur ce wiki.)

Dans le doute, j’ai refait les mêmes manipulations qu’hier sur le second serveur.

# vim /etc/php/8.1/fpm/pool.d/dokuwiki.conf

# tail -n 1 /etc/php/8.1/fpm/pool.d/dokuwiki.conf 
php_admin_value[memory_limit] = 128M

# systemctl restart php8.1-fpm

# systemctl restart nginx

Ça n’a pas aidé… Cette fois, comme je suis sur le bon serveur ( :smiling_face_with_tear: ), j’ai pu voir ce qui se passe dans htop quand je lance une recherche.

C’est le CPU qui galère.

En cherchant des infos à ce sujet, je suis tombé sur cette page github : Very slow search when using the latest release of Dokuwiki - Jack Jackrum · Issue #3955 · dokuwiki/dokuwiki · GitHub

Dans une des réponse, il est marqué qu’on peut lancer un “check” en rajoutant ?/do=check à l’url de son wiki ( https://<dokuwiki-host>/?do=check ).

Ah, déjà il voit bien qu’il peut utiliser 128 MB de ram. Ah, il lui manque mb_string ?
Je vérifie sur l’autre serveur et mb_string est bien installé.

# sudo apt install php8.1-mbstring

Et pouf, le problème est résolu! La recherche marche de nouveau à la vitesse de l’éclair! :face_holding_back_tears:

Merci @tituspijean , par ta question tu m’as fait réaliser que je regardais pas du tout au bon endroit.

2 Likes

Merci pour ton investigation ! :heart:
C’est pour ça qu’on est un peu procéduriers avec le canevas de demande d’aide, ça permet aux demandeurs d’aide de faire quelques vérification de base. Et dans ton cas tu as raté " If your request is related to an app, specify its name and version: app v1.0~ynh1" :innocent:

Bonne remarque, ça devrait donc faire partie des dépendances de l’application.
Cela sera corrigé avec Require php8.1-mbstring by tituspijean · Pull Request #105 · YunoHost-Apps/dokuwiki_ynh · GitHub.

1 Like

Ahah, pourtant j’avais essayé d’etre complet… :grin:

1 Like

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.