Bonjour,
Le fait qu'il puisse y avoir des cron SPIP qui se déclenchent très fréquemment me paraît normal mais dans ce cas, cela ne devrait-il pas correspondre à un processus PHP différent à chaque fois ?
-> Ben ... si. Après faudrait voir comment marche l'hébergement: qui est chaîné a qui pour servir les pages, interpréter etc. A vue de nez, c'est apache + un truc genre php-fpm mais bon ...
Je suis juste interpellé par le fait qu'un processus puisse durer plus de 4 jours.
-> Avec un max_execution_time à 180, cela n'est normalement pas possible: au bout de 180 secondes, le script est censé être tué ...
A moins qu'il ne soit lancé en tant que cli ( par une vraie tache cron du système, via une ligne de commandes ) ? Auquel cas, il peut avoir un paramétrage différent du reste et un max_execution_time=0 .
Je vais essayer de faire un monitoring plus précis pour évaluer si les 8 processus php constituent une limitation trop importante dans mon cas.
-> Comme Zedd, cela me parait faible. Pour dimensionner une infra, il ne faut pas considérer la moyenne, mais les pics.
Par exemple, si le serveur ne fait rien pendant 23h et que tout le monde débarque sur la plage 12-13h, c'est sur cette plage qu'il faut regarder.
Du coup, le chiffre intéressant n'est pas le nombre de visiteurs / jours qui viennent, mais le nombre max d'accès concurrents au plus fort de la journée.
Par ailleurs, je peux peut être faire une tâche cron Unix pour tuer les processus PHP qui durent trop longtemps....?
-> Non: max_execution_time est la pour ça ... En outre, il faudrait ( à priori ) pour cela être root, et donc il serait plus efficace dans ce cas de modifier la configuration du serveur 
Mais c'est sûr que j'aimerais mieux comprendre à quoi correspond cette histoire de cron SPIP qui ne se termine jamais.
-> Il y a quoi comme plugins qui tournent sur les sites ?
Sinon, dans tmp/log/queue.log se trouvent les logs des files de tache cron. Et il est possible de changer le comportement des logs en créant un fichier mes_options.php contenant par exemple :
$GLOBALS['taille_des_logs']=1024*1024;
define('_MAX_LOG',0);
define('_LOG_FILTRE_GRAVITE',8);
define('_DEBUG_SLOW_QUERIES',true);
Voir : Les aides au débuggage de squelettes - SPIP "Obtenir encore plus d’informations pour le debuggage".
Attention: ça va faire de gros fichiers assez vite ... Donc il faut bien penser à tout couper après debug.
Il y a possibilité d'avoir un accès SSH sur l'hébergement ? Si oui, un ps -elf donne la liste des process en cours d'exécution, ainsi que le temps passé en activité.
On peut avoir plus de détails concernant le temps d'exécution et cie ainsi :
ps -axo fname,pid,euser,start_time,cputime,cmd --sort=cmd
voir man ps pour les détails 