Mettiamo il turbo al nostro Firefox, con un piccolo trucco.
Sul forum di ArchLinux ci si stava giustappunto lamentando della lentezza e della pesantezza che assume Firefox dopo un certo tempo, rendendo il suo utilizzo decisamente meno proficuo. Qualcuno però ha linkato una soluzione che, testata, si è dimostrata assolutamente efficace per quello che riguarda le prestazioni sia di boot che di utilizzo del nostro browser preferito. Apertura più veloce, e reattività esponenziale saranno le caratteristiche del Firefox 3 che possediamo, dopo l’applicazione di questa piccola accortezza al suo database.

Tutti sappiamo (ssiiiii…) che Firefox, dalla versione 3.0, utilizza sqlite per memorizzare i siti visitati e tante altre comode informazioni, che ad ogni avvio vengono ovviamente ricaricate, all’occorrenza. Per applicare perciò questo tocco di classe al nostro browser, dobbiamo installare SQlite (grazie a MaxFact per il consiglio su cosa installare):
sudo apt-get install sqlite3 iprint
e spostarci nella directory relativa al nostro profilo di Firefox:
cd .mozilla/firefox/*.default
Adesso, arriva il trucco vero e proprio. Utilizzando SQlite, possiamo ottimizzare il database riordinando le tabelle e non avere più quella pletora pietosa che causa tanta lentezza e netti cali di prestazioni, sia su Linux che su altri sistemi operativi.
Per Linux…
for i in *.sqlite; do echo "VACUUM;" | sqlite3 $i ; done
E per Windows.
for %i in (*.sqlite) do @echo VACUUM; | sqlite3 %i
Per OSX non so come si faccia, ma essendo un sistema Unix-like, provvisto di bash, mi viene il sospetto che il comando sia lo stesso che in Linux. (Confermata la mia ipotesi corretta, grazie Dreamquest!)
Tutto ciò ovviamente è preferibile farlo con Firefox chiuso
Adesso avviate Firefox e… magia









maggio 20th, 2009 at 02:42
[...] Mettiamo il turbo al nostro Firefox, con un piccolo trucco. martedì 19 maggio 2009 | Tratto da: http://dottorblaster.it/ [...]
maggio 19th, 2009 at 21:49
A voler essere più efficienti bisognerebbe sostituire nel ciclo
echo “VACUUM;” | sqlite3 $i
con
sqlite3 $i “VACUUM;”
maggio 19th, 2009 at 21:50
Grazie per la segnalazione
Firefox è da sempre il mio browser preferito
è semplicemente fantastico ma molte volte risulta lento .. speriamo che con questo metodo riesco a risolvere
Gianmarco Miccinilli
maggio 19th, 2009 at 22:50
ma ogni quanto va fatto questo procedimento??? oppure è una tantum e va bene sempre???
maggio 19th, 2009 at 23:54
Piccola nota: su Debian (e ipotizzo anche Ubuntu) il pacchetto sqlite NON contiene /usr/bin/sqlite3, ma /usr/bin/sqlite che è la versione 2 di sqlite, non la 3 (che il tuo comando usa).
Per installare la 3 basta installare il pacchetto sqlite3
Comunque grazie per il trucco, lo proverò il prima possibile.
maggio 19th, 2009 at 23:56
C'è un piccolo intoppo. Nell'andare con la guida mi sono fermato alla prima immagine. Avete qualche soluzione?
Cmq ho avuto modo di provare la materia prima (il dottorblaster mi aveva passato questa guida in chan), e mi ha velocizzato davvero firefox!
maggio 20th, 2009 at 06:58
secondo voi sarebbe utile metterlo in crond una cosa del genere?
maggio 20th, 2009 at 14:53
Secondo me, sarebbe un po' da maniaci. Poi comunque dovresti farlo a firefox chiuso, e tu non sai a tale ora in che stato sarà il tuo browser
Certo è che mettere al boot un comando del genere non sarebbe poi tanto male
maggio 20th, 2009 at 14:54
Non so come si faccia per questi problemi, prova a staccare gli occhi dall'immagine
maggio 20th, 2009 at 14:55
Potrei modificare la riga di apt
maggio 20th, 2009 at 14:57
Puoi eseguirlo ogni quanto vuoi.
Di fondamentale importanza è se non lo esegui da anni, direi che comunque la cosa vada eseguita… uhm… ogni cinque mesi?
Da non eseguire spesso, perchè credo che comunque non si abbiano miglioramenti evidenti
maggio 20th, 2009 at 14:58
Se hai problemi con la barra degli indirizzi che impone al tuo PC di “riflettere troppo”, sicuramente questa guida risolve la cosa
maggio 20th, 2009 at 14:59
Non fa esattamente la stessa cosa?
maggio 20th, 2009 at 15:05
il risultato finale è lo stesso ma con il pipe crei due thread quando non hai alcuna necessità difarlo.
Per esempio il comando
grep <testo> <nomefile>
può anche essere scritto come
dd if=<nomefile> | cat | grep <testo>
il risultato finale sarebbe lo stesso ma io preferisco la filosofia KISS
maggio 20th, 2009 at 15:08
non si può dare un'indicazione che abbia un qualche valore … dipende da quanto si usa e con quale intensità, in ogni caso anche lanciarlo ogni giorno non crea alcun problema
maggio 20th, 2009 at 15:13
1) in cron puoi specificare anche il mese di esecuzione quindi non mi sembra da maniaci ma da programmatori, perchè devo fare qualcosa io quando il pc può farlo per me ?
2) per eseguirlo quando ff non sta girando basta anteporre un while che testi l'esistenza del file di lock di ff (magari con uno sleep di qualche secondo per non mandare il processore al 100%) così, se anche cron lanciasse lo script mentre gira ff, rimarrebbe in attesa e appena il file di lock viene cancellato prosegue con il vacuum dei db
maggio 20th, 2009 at 15:31
Sulla 1, non è detto che un programmatore non possa essere maniacale negli atti. E secondo me, usare cron per ottimizzare Firefox (di non molto) lo è
Sulla 2, hai ragione.
maggio 20th, 2009 at 16:05
scusa ma allora tu hai fatto un intero post su un metodo per ottimizzare (di non molto) ???
Nel caso tu ritenga utile il consiglio che hai condiviso tramite questo posto allora dovresti ritenere utile eseguirlo più volte.
Eseguire più volte una cosa manualmente è decisamente più da maniaci che non renderla un'automazione e dimenticarsene
Poi tutto dipende anche dalla tua definizione di “maniaco”
maggio 20th, 2009 at 18:00
Eseguita la prima volta, questa procedura fa miracoli. Ri-eseguita dopo non molto tempo, non comporta (penso) nessun particolare beneficio.
Si tratta quasi di un defrag del database, in fondo
maggio 20th, 2009 at 21:53
Ciao e complimenti per il blog
Su ubuntu jaunty per far funzionare quello che hai scritto ho dovuto installare sqlite3 ed iprint
forse puoi interessare
Ah uso anche arch e devo dire che è fantastica
maggio 20th, 2009 at 22:52
si, il vacuum è proprio un defrag (copia il contenuto del db in un altro db temporaneo e poi lo riporta in quello originale così tutto viene riordinato.
Esattamente come un defrag non si possono dare indicazioni di massima valide per tutti. Una persona che visita sempre la solita mezza dozzina di siti non trarrebbe un vantaggio nemmeno a lanciarlo dopo vent'anni mentre uno che apre una 50 di tab diversi su siti sempre nuovi ne trarrebbe giovamento già dopo una settimana …
maggio 20th, 2009 at 23:03
non volevo scatenare un flame
cmq esatto, il mio discorso era proprio di cronnarlo ogni mese controllando la presenza del lock di ff.
solo perche' se no mi scorderei di farlo, tutto qui
maggio 21st, 2009 at 13:50
Non è un flame, è solo una discussione pacifica, e mi pare che stiamo argomentando abbastanza invece di fissarci terroristicamente sulle nostre convinzioni
Grazie a te dello spunto interessante
maggio 21st, 2009 at 13:50
Arch rulez
maggio 21st, 2009 at 20:11
nell'immagine c'è sqollata 5, non sqlite 3, ecco perchè ti blocchi.
Con sqollata 5 devi usare la bash “spagnola” …
export LANG=”es”
…
maggio 21st, 2009 at 21:01
Confermo, il comando per Linux sembra andare anche su OSX. Testato su Leopard.
maggio 22nd, 2009 at 07:17
Grazie!
maggio 22nd, 2009 at 16:50
“SQL error near line 1: database is locked”
Non è normale,vero?
maggio 22nd, 2009 at 18:06
Chiudi Firefox, conta fino a dieci e dai il comando
giugno 30th, 2009 at 09:15
[...] dottorblaster's blog (and talking with him in #archlinux italian irc channel) I got the idea for a firefox 3 plugin. I'm [...]