Asustor [Résolu] Aide OPcache

Juicy

Nouveau membre
11 Avril 2020
3
0
1
Bonjour,

Je rencontre un problème lors de l'amélioration de mon infrastructure de cloud Nextcloud: le panel administrateur me demande d'activer OPcache.
J'ai ainsi édité php.ini (PHP5 et PHP7, même si normalement seule la version 7 est active) pour activer OPcache mais Nextcloud continue de me dire qu'il n'est pas activé. J'utilise PHP7 qui est fourni dans AppCentral. Le dossier de php.ini pour PHP7 est: "/volume1/.@plugins/AppCentral/php7/etc/php.ini" et il contient les lignes pour activer le module OPcache.
Si vous vous demandez pourquoi je souhaite installer OPcache: les pages sont très lentes à charger que cela soit sur Nextcloud ou sur une autre application (PHPVirtualBox, etc liés à PHP...) et c'est pourquoi je voulais me lancer dans une optimisation.

Pour débuguer le problème de non-lancement de OPcache, j'ai voulu accéder aux logs apache mais je ne l'ai pas trouvé malgré un find . -name "access_log".
Peut-être que ce n'est pas activé par défaut pour gagner en performances ou pour éviter que des logs traînent sur le système?
J'ai vérifié apache2.conf dans "/volume0/usr/builtin/etc/apache2" et j'ai tenté un truc en ajoutant cette ligne (je n'avais pas de grande conviction mais j'étais dégoûté donc j'ai tenté malgré tout) :
Errorlog "/volume1/home/XXXXXXXX/apache2_error_log"

Cela n'a rien donné non plus : je nettoie ce que j'ai précédemment fait comme modifications pour revenir au départ (avant que j'oublie ce que j'ai fait :whistle:).
Sans les logs apache, j'imagine que je ne peux pas voir si il y a des erreurs au chargement du module OPcache, je me trompe?

:idea:
Pour contourner ce nouveau problème de logs s'ajoutant à la liste du problème principal concernant OPcache, j'ai fait preuve d'astuce avec la création temporaire d'un petit script PHP appelable directement depuis le service HTTP du NAS qui retourne le phpinfo(). Le résultat de phpinfo() semble signifier que OPcache (enfin le moteur Zend pour être exact) est actif.

En parallèle, si quelqu'un a des propositions pour accélérer mon serveur (principalement Nextcloud et service HTTP), je suis preneur de toutes solutions (le problème n'est pas réseau car je suis fibré).
Aussi, mon NAS a été amélioré avec 8 Go de RAM, donc je pense qu'il peut tenir sur des tâches plus lourdes en mémoire. À la base l'amélioration matérielle était destinée pour de la virtualisation mais je ne me sers plus du NAS pour cette activité, donc j'ai maintenant énormément de marge en mémoire.

À bientôt,
Juicy

PS: J'ai aussi crée un ticket Asustor pour ce problème, il a été assigné à Jack Ni mais comme 2/3 de mes tickets, je n'ai pas de réponse... j'ai même un ticket datant de début 2019 :cry:
 
Salut,

normalement sous apache httpd, la configuration est dans le fichier httpd.conf.
C'est là que déclare l'emplacement, le format et le nom des fichiers de logs.
par exemple : /etc/httpd/conf/http.conf.

Tu vas y trouver la configuration des fichiers de logs pour l'accès standard, ainsi qu'une autre ligne pour les erreurs.
ErrorLog "Logs/error_log" # la trace des logs d'erreurs se trouvent sous Logs (dans le repertoire d'installation d'httpd apache, et le nom : error_log
pour le format( comment s'écrivent les lignes dans le fichier, qu'est-ce qu'elles contiennent) c'est une autre ligne :
LogFormat "%h %l %u %t \"%r\" %>s %b" common # exemple de format de log, nommé common, qui contient les valeurs entre les cotes.
La définition de ces valeurs se retrouvent facilement sur le site apache.org dans la DOC de la version d'apache httpd.

Donc quand apache se lance, il li le httpd.conf, ensuite, si dans ce fichier il existe un "Include" du repertoire /conf.d (toujours dans la conf apache),
il va lire tous les fichiers *.conf qui se trouvent dans ce répertoire, par ordre alphabétique (en commençant par les numéros).
Tu peux avoir dans les fichiers .conf des modifications de tout ce qui se trouve dans le fichier httpd.conf, ça surcharge.

ça c'est pour retrouver tes logs.

pour l'opcache, qui est dans ton installation PHP.
sous conf.modules.d (je suppose que tu as un apache 2.4 ) tu vas retrouver le module PHP lancé.
sous conf.d tu trouveras l'indication du PHP que tu utilises.

Ensuite ça se passe dans ta conf PHP. Dans ton php.ini (sous /etc/ par défaut) et éventuellement php.d
regarde là : https://www.ekino.com/articles/php-comment-configurer-utiliser-et-surveiller-opcache

j'avais installé la page php-snap.php qui te donne des infos sur ton cache également.

Dans ton php.ini tu as aussi de la conf a faire concernant les logs typiques php, surtout le niveau de log, et leurs emplacements.

Voilà tu as de quoi vérifier dans un premier temps.
 
Mon problème a été résolu depuis la récente màj (fin mars) de PHP7 sur AppCentral.
Merci.