Performance et optimisation

Performance et optimisation de Clickheat


Limite mémoire:

Utilisez la plus haute valeur de mémoire possible : cela limite le nombre d'images générées pour une seule carte de température, et cela augmente la vitesse de génération. Mais faites attention : plus vous utiliserez de mémoire, moins votre système en aura à sa disposition pendant la génération de la carte (après la génération, la mémoire est à nouveau disponible pour le système). Imaginez que vous ayez 10 générations simultanées (disons 10 utilisateurs qui regardent les cartes) avec une limite de 100Mo, cela implique que vous utiliserez jusqu'à 1Go de mémoire ! Donc faites attention avec cette option, le mieux est de mettre 32Mo si votre php.ini dit 8Mo, et 128 s'il vous en dit autant.

Nommage des groupes de page:

Si vous utilisez le nom de la page ou l'adresse de la page pour suivre les clics, ClickHeat créera autant de répertoires de suivi que de titres différents. Cela peut entraîner un nombre important de répertoires, et affecter lourdement l'utilisation du disque ou ses limites. Donc vous devriez utiliser un petit nombre de noms de groupe, autant que faire se peut.

Éviter de charger le moteur PHP pour chaque clic enregistré:

Chaque fois qu'un clic est enregistré, le moteur PHP est chargé. Cela crée une légère charge car le script est léger, mais le serveur est vraiment lent pour envoyer des réponses PHP en comparaison d'un fichier statique, comme en témoignent certains tests: Lighttpd/mod_cml - PHP : 150 req/s, Static : 4900 req/sUne solution est de déplacer les appels de ClickHeat (GET click.php?x=123&y=456) sur un fichier statique (GET clickempty.html?x=123&y=456), puis de traiter le log de ces appels statiques. Cette solution est offerte aux utilisateurs expérimentés d'Apache/Perl par wat.tv.

Utilisez un fichier statique pour la variable clickHeatServer:
clickHeatGroup = 'page';
clickHeatServer = '/clickheat/clickempty.html';
initClickHeat();

Puis ajoutez un log spécial à votre configuration Apache (vous pouvez adapter cette partie en fonction de vos besoins, en utilisant cronolog ou équivalent, un sous-domaine dédié, etc...):
SetEnvIf Request_URI clickempty.html clickheat
CustomLog "clickheat.%Y-%m-%d-%H" "%r" env=clickheat

Enfin vous devrez lancer le script parseClickLogs.pl inclus dans l'archive téléchargée (il se trouve dans /scripts/)

 
Publié par 100 le 4 juin 2010 à 11h23.

Commentaires

Aucun commentaire pour le moment

Nom(Champ obligatoire)
Email(Champ obligatoire)
Email(Champ obligatoire)
Site internet ou blog
Caractères restants : 1000