Vitesse de calcul

W3Perl posséde deux modes différents. Le premier est utilisé pour initialiser vos statistiques, le deuxième pour les mises à jour.
La vitesse moyenne est de 3500 lignes/sec sur un processeur XP2500+, donc cela prend à peu près 25 minutes pour lire un fichier de log de 1 Go ou plus de 6 heures pour un fichier de 1 To.
Un fichier de 1 Go représente à peu près 6 millions de lignes, cela correspond à environ deux ans de log avec une fréquentation correspondant à environ 10 000 requêtes par jour ou deux mois avec un site avec 100 000 requêtes par jour.
Si la vitesse est votre priorité, je vous recommende plutot un logiciel écrit en C comme Analog ou Webalizer.

star Initialisation

Le temps de calcul dans ce mode peut etre très long si vos fichiers de log sont importants, mais vous n'aurez à lancer ce mode une seule et unique fois.
Donc après l'installation, il suffit de lancer la commande 'cron-w3perl.pl -a' pour initialiser toutes vos stats (ou utiliser l'interface d'adminsitration) et tout sera calculé à partir du début.
Si toutefois, vous effectuez des changements importants dans votre configuration, une ré-initialisation peut être souhaitable ou les changements ne seront actifs que les stats à venir.

star Incrémentale

Pour éviter de tout relancer à chaque fois, des statistiques incrémentales sont calculées entre les différents lancements. Par défaut, le nombre maximum de jours pour le mode incrémental est de 7 jours consécutifs (mais cela peut être modifier facilement). Le temps de calcul pour mettre à jour les stats est de l'ordre de quelques minutes, fonction de la taille de votre fichier de log et de vos options. Le lancement de 'cron-w3perl.pl -e' permet de mettre à jour toutes vos stats.
Un jour prend typiquement 3 secondes à calculer pour un site avec une moyenne de 6000 requêtes par jour et 15-20 secondes pour un site avec 40 000 requêtes/jour.

star Benchmark d'initialisation

Pour donner une idée de la vitesse de traitement, voici quelques timing effectués avec mon XP2500+ avec 512 Mo RAM.

Website Intervalle Taille du log Requêtes / jour CPU Vitesse
W3Perl 1216 jours
(40 mois)
1.7 Go (124 Mo compréssé) 6 000 41 min 50 3550 lignes/sec
INRP 129 jours
(3 mois)
1.2 Gb (154 Mo compréssé) 61 000 39 min 26 3970 lignes/sec
(Log 1.7 Go) CPU Vitesse Vitesse relative
reverse dns désactivé 41 min 50 3550 lignes/sec 100 %
module geoip_free 1 h 02 min 55 2280 lignes/sec 65 %
module netgeo 1 h 04 min 15 2280 lignes/sec 65 %
reverse dns activé 9 h 12 min 20 270 lignes/sec 7 %

Le niveau de précision est par défaut de 3 et le reverse dns est désactivé.
Le taux de compression des fichiers de log est d'environ 90%.

Pour améliorer la vitesse de traitement, il faut désactiver le reverse dns (qui est très lent) mais dans ce cas, vous ne pourrez avoir de statistiques sur les pays. Si vous avez néanmoins la nécéssité d'avoir de telles stats, utilisez le module perl Geo::IP (qui founi un fichier de reverse dns en interne) ou avant de lancer W3Perl, utilisez fastresolve pour convertir vos fichiers de log IP en nom de machine.
Désactiver la détection des robots ou du filtrage des referer spam peut faire gagner un temps non négligeable.