Archivages concurrents

Un article de PhpMyVisites documentation.

Jump to: navigation, search

Vous obtenez le message "There is currently an archiving which is being processed (idarchives = X). Please wait a few minutes (X seconds), and try again (we have to the archive to be totaly computed!"

Pourquoi ce message ?

Quand vous allez voir la page statisques, ou quand un visiteur visite une de vos pages, phpMyVisites lance l'archivage des stats pour la veille. Cet archivage peut représenter un temps de calcul important. Le message apparait si vous visitez la page pendant un tel archivage, car nous n'affichons pas les statistiques pendant le calcul des statistiques : cela pourrait poser des problèmes d'intégrité de données. Le problème est que parfois ce message s'affiche alors qu'il n'y a pas d'archivage en train d'être calculé, car votre serveur a eu un probleme pendant l'archivage. Voir la partie suivante pour des solutions.

Solutions ?

  • Si l'archivage a fonctionné pendant plusieurs semaines/mois et que maintenant vous avez ce message à chaque fois, cela peut venir d'dun changement de configuration de votre serveur. Si votre administrateur a installé le 'Zend Optimizer', cela entraine un bug critique, l'optimizer interrompant le processus d'archivage de phpMyVisites...
plus d'informations sur ce thread (en anglais) http://www.phpmyvisites.us/forums/index.php/mv/msg/3236/14401/#msg_num_12
Ce bug est corrige depuis la version 2.2b3
  • Si vous avez la main sur le serveur web, et notamment sur les fichiers de logs et erreur d'apache (ou IIS) vous pouvez regarder les erreurs (recherchez les erreurs pour le script "phpmyvisites.php"). En fait il y a a priori 2 causes de probleme possible
    • un temps maximum d'execution d'un script php trop court, donc l'archivage n'a pas le temps de finir
    • une limite mémoire trop faible, donc l'archivage se bloque par manque de mémoire allouée à PHP
    • une incompatibilité avec le 'Zend Optimizer' sur PHP5 ; il faut désactiver le Zend Optimizer pour solutionner le problème [Ce bug est corrige depuis la version 2.2b3]
  • Dans votre php.ini (si vous avez le controle sur votre serveur donc)
    • Essayez d'augmenter la valeur max_execution_time en la passant à "3600" (1h)
    • Essayez d'augmenter la valeur memory_limit en la passant à "80M"
    • Puis redémarrez le serveur web (apache ou iis)
  • Si vous n'avez pas accès aux fichiers de configurations de votre serveur et/ou que vous ne pouvez pas installer de crontab, demandez à votre hébergeur si il peut regarder dans les logs pour voir un erreur sur l'execution du script phpmyvisites.php (donc soit l'erreur de memory soit l'erreur de time limit), et de faire les modifs en conséquences.
  • Il y a bien la solution de baisser le temps de blocage (TIME_TO_WAIT_FOR_PARALLEL_ARCHIVE dans le config.inc.php) mais cela ne fera que relancer cet archivage plus souvent si votre serveur a véritablement un probleme avec l'archivage, et donc cela ne changera pas grand chose.
  • Si votre hébergeur ne souhaite pas modifier les valeurs de configuration de PHP sur votre serveur, et que le probleme se répète plusieurs jours d'affilée (au moins 7 jours de suite) alors je crains qu'il n'y ait pas de solution, malheuresement, à part de changer d'hébergeur.

NB: Vous pouvez également visiter la page http://www.phpmyvisites.us/documentation/How_to_optimize_a_server pour des détails sur la configuration d'un serveur dédié pour phpMyVisites

English help

You can find the english version of this help on Concurrent archiving