Firefox 3.0 und SSDs
Seit längerem kämpfe ich nun schon mit meinem Firefox auf meinem Acer Aspire One. Das Problem an der Sache ist, dass mein Netbook eine SSD der frühen Generation hat. Mal abgesehen davon, dass die maximale Durchsatzrate schreibend bei um die 5MB/Sekunde liegt steht das ganze System still sobald mal mehrere kleinere Schreiboperation anstehen.
Auf dem Laptop ist Ubuntu 8.04 installiert. Aus lauter Paranoia auch noch voll verschlüsselt (reduziert IO Leistung natürlich noch mehr). Mein User-Partition ist auf einer SD-Card, hier liegen also auch die FF Userdaten. Der Durchsatz ist hier zwar höher (~15MB/s) aber das viel-schreiben-Problem besteht genauso..
Ich habe so ziemlich jeden Guide zum reduzieren der IO Last gelesen und umgesetzt. Das brachte auch alles ziemliche Verbesserungen nur ein Problem wurde einfach nicht behoben: Ab und zu stand der FF einfach still! Nachvollziehbar insbesondere bei stark Javascript lastigen Seiten (wie zB der Wordpress Admin) trat das Problem besonders häufig auf. Endlich habe ich eine Lösung gefunden auch das zu fixen.
Erst einmal alle Maßnahmen die man überall im Netz nachlesen kann, die auf jeden Fall gemacht werden sollten:
- History auf maximal 3 Tage (Edit -> Preferences -> Privacy -> History)
- Deaktivieren der Firefox Anti-Phishing Einstellungen (Edit->Preferences->Security, dann beides “Tell me if the site I’m visiting is a suspected attack site” und “.. forgery site” aus machen. Achtung: Nur wenn man sich sicher ist, was das bewirkt und mit den Konsequenzen umgehen kann!)
- Auslagern des Caches ins RAM: In about:config den neuen Schlüssel browser.cache.disk.parent_directory anlegen (rechts klicken -> New -> String ) und als Wert /dev/shm angeben
Als Resultat sollte FF sich nun deutlich geschmeidiger anfühlen. Aber das nervtötenden Stillstehen (Eingabe reagiert nicht mehr für etliche Sekunden bis hin zu einigen Minuten, teilweise wird das ganze System davon betroffen) lässt sich so leider auch noch nicht beheben. Die Lösung ist erstaunlich einfach. Hierfür muss man einen weiteren Schlüssel in about:config eintragen: toolkit.storage.synchronous (rechts klicken -> New -> Integer), der Wert ist 0. Achtung: kann (soweit ich gelesen haben) unter Umständen zum vollständigen Verlust der History usw führen.
Nach einem FF Neustart sollte alles übernommen sein. Zwar ist das gefühlte Verhalten noch immer nicht wie auf einem System mit normaler HD, aber ich kann immerhin wieder richtig damit arbeiten.
Wen es interessiert: Dieser Schlüssel schaltet fsync für die Datenbank (places.sqlite usw) aus. Das Problem liegt darin, dass die sqlite Bibliothek offenbar “zu häufig” synchronisiert was in hoher IO Last resultiert (oder vielmehr Anzahl was bei einer fühen SSD zu langem IO Wait führt).