Piwik : réduire le volume des tables
Piwik est un script Php qui constitue une réelle alternative à Google Analytics. Il exige toutefois que vous disposiez d’un base MySQL.
Il stocke les données de présentation de vos données statistiques dans des tables qui peuvent très vite occuper plusieurs dizaines de Mo. Voici un hack pour diminuer la croissance des tables d’archive piwik_archive !
Le script Php
<?php
$db=’votre_base_de_données_piwik’;
$host=’localhost’;
$login=’root’;
$pwd=’votre_mot_de_passe’;
$conn=mysql_connect($host, $login,$pwd);
$sql = « SHOW TABLES FROM $db »;
$req = mysql_query($sql);
mysql_select_db($db,$conn);
while ($row = mysql_fetch_row($req))
{
if(stripos($row[0],’piwik_archive_’)!==false)
{
$trunc=mysql_query(‘TRUNCATE TABLE ‘.$db.’.’.$row[0]);
mysql_free_result($trunc);
unset($trunc);
}
else
{
$opt=mysql_query(‘OPTIMIZE TABLE ‘.$db.’.’.$row[0]);
mysql_free_result($opt);
unset($opt);
}
}
mysql_free_result($req);
unset($req);
mysql_close($conn);
unset($conn);
?>
Vous pouvez exécuter ce script par une tâche planifiée, après avoir installé le paquet php-cli, par la commande php -f nom_du_script.php.
Eclairage complémentaire : le schéma utilisé par Piwik