user@blasterhome$ ~/Guide, How-To, Informatica, Linux, Windoze/Mettiamo il turbo al nostro Firefox, con un piccolo trucco.

| Se ci tieni a me, abbonati al feed

Mettiamo il turbo al nostro Firefox, con un piccolo trucco.

maggio 19th, 2009 Posted in Guide, How-To, Informatica, Linux, Windoze

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 :)

  • Davide
    "SQL error near line 1: database is locked"
    Non è normale,vero?
  • Chiudi Firefox, conta fino a dieci e dai il comando :)
  • Dreamquest
    Confermo, il comando per Linux sembra andare anche su OSX. Testato su Leopard.
  • Grazie! :)
  • maxfact
    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
  • Arch rulez :D
    E grazie del consiglio :)
  • secondo voi sarebbe utile metterlo in crond una cosa del genere?
  • 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 :D
  • Edo
    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 ? :D

    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 ;)
  • 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 è :D
    Sulla 2, hai ragione. :)
  • Edo
    :D
    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" ;)
  • 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 :)
  • Edo
    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 ...
  • non volevo scatenare un flame :D
    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 :D
  • Non è un flame, è solo una discussione pacifica, e mi pare che stiamo argomentando abbastanza invece di fissarci terroristicamente sulle nostre convinzioni :D
    Grazie a te dello spunto interessante ;)
  • C'è un piccolo intoppo. Nell'andare con la guida mi sono fermato alla prima immagine. Avete qualche soluzione? :D

    Cmq ho avuto modo di provare la materia prima (il dottorblaster mi aveva passato questa guida in chan), e mi ha velocizzato davvero firefox! :)
  • telperion
    nell'immagine c'è sqollata 5, non sqlite 3, ecco perchè ti blocchi.
    Con sqollata 5 devi usare la bash "spagnola" ...
    export LANG="es"
    ...
  • Non so come si faccia per questi problemi, prova a staccare gli occhi dall'immagine :D
  • g7
    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.
  • Potrei modificare la riga di apt :D
  • TheSgrash
    ma ogni quanto va fatto questo procedimento??? oppure è una tantum e va bene sempre???
  • 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 ;)
  • Edo
    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
  • Grazie per la segnalazione :D Firefox è da sempre il mio browser preferito :D è semplicemente fantastico ma molte volte risulta lento .. speriamo che con questo metodo riesco a risolvere :D

    Gianmarco Miccinilli
  • Se hai problemi con la barra degli indirizzi che impone al tuo PC di "riflettere troppo", sicuramente questa guida risolve la cosa :D
  • Edo
    A voler essere più efficienti bisognerebbe sostituire nel ciclo

    echo "VACUUM;" | sqlite3 $i

    con

    sqlite3 $i "VACUUM;"

    ;)
  • Non fa esattamente la stessa cosa? :)
  • Edo
    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 ;)
blog comments powered by Disqus