Configurer Piwik pour les sites à fort trafic

Date: 8/07/2011 | Catégories: Blog,Open-source,Planet-libre,Web | Tags: ,,

Nous avons vu dans un précédant billet comment installer et configurer Piwik comme une alternative libre à Google Analytics. Un des commentaire m'a conduit vers une page du Wiki officiel de Piwik ou il est expliqué que pour un site qui génère plus de quelques centaines de visites pas jour (drôle de définition d'un site à fort trafic :)), une configuration complémentaire est nécessaire.

De base, Piwik traite dynamiquement les données quand vous accédez à l'interface Web. L'idée est de forcer automatiquement cette génération toute les heures pour disposer d'un affichage plus rapide des rapports.

Mise en place du traitement automatique des données

Nous allons utiliser la crontab système pour lancer toutes les heures le traitement des informations stockés dans la base de donnée MySQL. Si vous avez suivi mon tutoriel sur l'installation de Piwik, le script permettant traiter les informations devrait se trouver dans le répertoire suivant: /var/www/piwik/misc/cron/archive.sh.

On commence par vérifier les droits de ce fichier et l'utilisateur a qui il appartient:

ls -alF  /var/www/piwik/misc/cron/archive.sh

-rwxr-xr-x 1 www-data www-data 3832 Mar 29 03:24 /var/www/piwik/misc/cron/archive.sh*

Il est bien en lecture et exécution (rx) pour l'utilisateur www-data.

On peut donc configurer la crontab de l'utilisateur www-data en ajoutant les deux lignes suivantes (je rappelle que pour éditer la crontab  il faut saisir la commande "sudo crontab -u www-data -e"):

MAILTO="USER@DOMAINE.COM"

5 * * * * /var/www/piwik/misc/cron/archive.sh > /dev/null

Il faut bien sûr remplacer USER@DOMAINE.COM par une adresse mail valide qui sera utilisé en cas de problème pour vous prévenir.

Configurer l'interface Web

Une fois le crontab mis en place, il faut dire à l'interface Web de ne plus traiter automatiquement les données quand vous accédez à un rapport. Pour cela, il faut se rendre dans le menu Paramètres > Onglets Paramètres Généraux:

On demande à Piwik de ne pas traiter les données à partir de l'interface Web (1) puis on configure le délais de 3600 secondes (1 heure) entre deux générations de rapport (2).

Et voili, vous devriez avoir un Piwik qui boost même avec un trafic important !