English (Inglese)Come impostare l'auto-archiviazione dei tuoi reports?
Se il tuo sito web ha più di poche centinaia di visite al giorno (bravo!), aspettare che Piwik processi i tuoi dati richiederebbe alcuni minuti. Il miglior modo per evitare questa attesa è quello di impostare un cron job sul tuo server in modo che i dati siano automaticamente processati ogni ora.
Come impostare un crontab per ottenere automaticamente i reports?
Per analizzare automaticamente i dati raccolti da Piwik ogni ora, puoi impostare un crontab. Crontab è un servizio di schedulazione su base temporale presente sui server Unix-like. Per impostarlo ti serve un accesso SSH al tuo server:
# crontab -e
ed aggiungere poi le seguenti linee di codice:
MAILTO="youremail@example.com"
5 * * * * www-data /path/to/piwik/misc/cron/archive.sh > /dev/null
Lo script di Piwik per l'archiviazione si attiverà ogni ora. Normalmente, ci impiega meno di un minuto. Su siti web con alto traffico (più di 10.000 visite), il sistema di archiviazione di Piwik può impiegare fino a 30 minuti.
Descrizione dei parametri: www-data è l'utente con cui viene eseguito il cron job, e normalmente è l'utente del tuo webserver. Qualche volta è "apache". Tutti i messaggi d'errore generati durante l'esecuzione del cron job saranno inviati all'indirizzo youremail@example.com.
Descrizione dell'utility 'linux cron': L'utility cron utilizza due differenti tipi di files di configurazione, il system crontab e gli user crontabs. L'unica differenza tra questi due formati è il sesto parametro. Nel system crontab, il sesto parametro è il nome dell'utente con cui lanciare il comando. Questo da la possibilità al system crontab di essere lanciato con qualsiasi utente. Nello user crontab, il sesto parametro è il comando da lanciare, e tutti i comandi vengono lanciati utilizzando l'utente che ha creato il crontab; questo è una importante misura di sicurezza. Se imposti il tuo crontab come uno user crontab, dovresti scrivere:
5 * * * * /path/to/piwik/misc/cron/archive.sh > /dev/null
Questo cron job scatenerebbe il processo di archiviazione giornaliera / settimanale / mensile / annuale alle 00:05AM ogni giorno. Questo ti garantisce che quando navighi attraverso la tua Interfaccia Piwik, i dati sono stati già elaborati: Piwik li caricherà velocemente.
Test del comando cron: Accertati che crontab sta attualmente lavorando, eseguendo il comando
# sh /path/to/piwik/misc/cron/archive.sh
nella shell. Dovresti vedere l'output XML contenente il numero di visite ad ogni data.
Trucchi per i siti web a medio o alto traffico
Disabilita l'archiviazione di Piwik lanciata attraverso il browser e limita ad un'ora l'aggiornamento dei reports Piwik
Raccomandiamo fortemente di configurare l'auto-archiviazione come spiegato sopra. Puoi anche disabilitare l'archiviazione automatica dal browser, assicurandoti che il tuo utente Piwik non lanci il pesante processo di archiviazione. Puoi andare nella sezione "General Settings" nel tuo pannello di amministrazione di Piwik, e selezionare
- Allow Piwik archiving to trigger when reports are viewed from the browser: No
- Reports for today will be processed at most every: 3600 secondi
Clicca su Save per salvare le modifiche.

Le statistiche di oggi hanno una vita di un'ora, e ciò assicura che i reports non siano elaborati troppo frequentemente.
Aumenta la memoria
Se si verifica un errore Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate X bytes), puoi aumentare la memoria allocata per PHP. Aggiorna il file /etc/php5/cli/php.ini, impostando per esempio:
memory_limit = 128M
Questo riguarderà solo PHP CLI, la tua configurazione del web server rimane immutata. L'archiviazione crontab dovrebbe funzionare ora, e Piwik dovrebbe essere molto veloce!
Come configurare l'auto-archiviazione usando Windows Scheduler su Windows?
Piwik viene fornito con uno script Powershell (lo trovate in: piwik/misc/cron/archive.windows.ps1) che puoi usare per configurare l'archiviazione automatica.
Apri lo script in un editor di testo a tua scelta e modifica la prima linea in base alle tue configurazioni di sistema.
$PHP_INI = "C:Windowsphp.ini"
Il valore della variabile $PHP_INI deve essere il "'full"' path del tuo php.ini.
Configurazione dello script
Devi inoltre accertarti che sia php5.exe, sia php.exe si trovino in un percorso che è specificato nella variabile d'ambiente %PATH%. Seleziona "'Start"' -> "'Run"' e digita "cmd" per aprire una console di DOS. Poi scrivi "'php.exe -version"' e premi invio per controllare se PHP è disponibile. Se hai bisogno di modificare il valore della variabile %PATH% leggi la sezione Come Gestire le Variabili di Ambiente in Windows.
Schedulazione
Per aprire il task scheduler su Windows (XP, 7, 2003/2008 Server) clicca "Tutti i programmi", seleziona Accessori, poi Utilità di Sistema, e seleziona Utilità di Pianificazione. Clicca su "'Crea Attività" e per esempio chiama il task "Piwik Auto Archiviazione". Clicca sul tab "'Attivazione"' ed aggiungi un nuovo criterio di attivazione. Seleziona la creazione di un trigger ad una certa ora, per essere eseguito ogni giorno ogni ora. Conferma le impostazioni e seleziona il tab "Azioni". Aggiungi una nuova azione e seleziona di avviare un programma.
Noi vogliamo lanciare "'powershell.exe"' usando dei parametri addizionali –Noninteractive –Noprofile –Command "&{}"
Ecco fatto! Se hai bisogno di aiuto con l'Archiviazione Automatica su Windows nell'uso dello script per la Powershell, per favore invia il problema qui.
Maggiori informazioni sulla funzionalità di archiviazione di Piwik
- La dimensione del tuo database di Piwik crescerà nel tempo, questo è normale. Piwik cancellerà archivi processati per periodi incompleti (ie. quando hai archiviato una settimana a metà della stessa), ma non cancellerà gli altri archivi. Comunque avrai archivi per ogni giorno, ogni settimana, ogni mese ed ogni anno nelle tabelle di mysql. Questi assicurano una risposta veloce della UI e dell'accesso ai dati, ma questo richiede spazio sul disco rigido. In futuro possiamo immaginare che sarà creato un plugin che cancelli alcuni dati vecchi (per esempio, mantenendo solo le 50 più importanti righe di ogni report).
- A questo punto, l'archiviazione non cancella i logs. In seguito, questi logs saranno cancellati o spostati in altre tabelle o files.
- Archiviando più volte al giorno servirà solo ad aggiornare "I Reports di Oggi" più di frequente. Ciò non modifica l'impiego di memoria per gli altri periodi: l'archiviazione di Piwik non è incrementale.
- C'è un problema con la memoria e l'archiviazione di Piwik. Questo potrebbe essere un problema per istallazioni molto grandi.
- Se non configuri l'archiviazione per un funzionamento automatico, l'archiviazione avverrà solo quando un utente richiede i reports di Piwik. Questo risulterà spesso in una esperienza utente lenta e non delle migliori (gli utenti dovranno aspettare N secondi) ed è per questo che raccomandiamo di configurare l'auto-archiviazione come spiegato sopra per i siti medio-grandi.
Italiano
Français
Deutsch
Ελληνικα
polski
Newsletter