Webové prohlížeče ojíždějí SSD. Objem zápisů může vyčerpat kvóty levných disků

1

Rozmáhají se nám levná SSD se zápisem TLC a poměrně nízkou výdrží – tedy alespoň tou deklarovanou, na níž se vztahuje záruka. Možná si tím při běžném užívání hlavu neděláte s tím, že na systémový disk se toho zas tak moc stejně nezapisuje. Ovšem zdá se, že ve většině PC může být zapsaných gigabajtů překvapivě hodně každý den, stačí používat mainstreamové prohlížeče webu.

Nejde patrně o žádnou novou skutečnost, ale upozorněno na ní bylo asi až nyní. Web ServeTheHome ve svém článku k tomuto problému postihujícím například Chrome a Firefox píše, že si redaktor velké zátěže, kterou prohlížeč vytváří, všiml náhodou. Ovšem šlo o víc jak 10 GB zapsaných za jeden den bez nějaké aktivity, která by vše vysvětlovala. Problém je v tom, že prohlížeče zapisují téměř kontinuálně velké množství dat pro potřebu obnovení otevřených stránek v případě pádu nebo zamrznutí programu či celého počítače.

Pro tento účel Firefox ukládá zálohy do souboru recovery.js a to ve výchozím nastavení každých 15 sekund. V současné architektuře této funkce je údajně nutné zapisovat celý stav při každé změně (jak vyplynulo z diskuse na Hacker News, vývojáři jsou si problémů vědomi). Firefox by neměl být úplně hloupý a data nezapisuje, pokud je nečinný. Ovšem problém je v tom, že webových stránkám na pozadí běží skripty a další neplecha a ve výsledku je tak dnes váš prohlížeč i při zdánlivé neaktivitě skutečně nečinný jen zřídka.

Spráce úloh u mě: Firefox za včerejšek uložil 5 GB dat při běžném používání a bez stahování velkých objemů dat nebo aktualizace
Spráce úloh u mě: Firefox za včerejšek uložil 5 GB dat při běžném používání.
Bez stahování velkých objemů dat nebo aktualizací

 

Průšvih je s Firefoxem i s Chrome

Kromě recovery.js ale mohou velkou zápisovou zátěž vytvořit i zápisy stránek do souborů cookie, které zdá se řada provozovatelů nadužívá a ukládá si do nich data příliš často. Redaktor ServeTheHome zkusil otevřít různé hardwarové weby a recenze a ponechav je 45 minut ve dvou oknech svému osudu, dostal se za tuto dobu na 1,1 GB zapsaných cookies. Podle množství otevřených záložek vám tedy prohlížeč Firefox může zdá se alespoň v některých situacích zapisovat i 10–20 GB dat denně a více.

Jenže Firefox v tom není sám, stejný web pak vyzkoušel i Chrome a dostavilo se stejně nepříjemné překvapení, produkt Googlu podobnou testovací metodikou vygeneroval 24 GB/den. Zda je třeba Edge v zápisech rozumnější, nevím a zkusím otestovat. Osobně jsem Firefoxem ve včerejším sezení svou typickou činností za několik hodin také najezdil okolo 5 GB, takže pokud nelže pohled do správce úloh, problém mohu potvrdit.

 

Extrém: 32 GB uložených během jednoho dne (Zdroj: ServeTheHome)
Extrém: přes 30 GB uložených během jednoho dne (Zdroj: ServeTheHome)

 

Na jednu stranu se dá říct, že toto asi stále ještě SSD nezničí v nějakém blízkém horizontu, alespoň ta lepší dle destrukčních testů zvládala vyšší zátěž, než je deklarováno v často konzervativních garantovaných číslech. Jenže, lowendové TLC disky tyto garance mají tak nízké, že už do nich Google či Mozilla narážejí. Například 120GB Toshiba OCZ TL100 vám garantuje jen 30TB při záruce tři roky a na jeden den tak oficiálně máte jen 27 GB – a toto není nějaká výjimka, ale běžná realita levných SSD. Jak se zdá, můžete toto číslo snadno nevědomky najezdit jen prohlížením webu, pokud máte otevřených hodně záložek. Jistě, disk možná vydrží déle. Jenže můžete přijít o záruku a být odmítnuti s reklamací SSD, které třeba selhalo z jiných příčin. Opotřebení také zvyšuje riziko chyb v uložených datech.

 

Kromě recovery.js škodí také přílišné ukládání dat do souborů cookie (Zdroj: ServeTheHome)
Kromě recovery.js škodí také přílišné ukládání dat do souborů cookie (Zdroj: ServeTheHome)

 

Publicita okolo tohoto problému snad přiměje vývojáře, aby se na problém pokud možno prioritně zaměřili a zredukovali zbytečné zápisy použitím inkrementálních záloh, komprese a vůbec zinteligentněním použitých algoritmů. Posvítit by si asi měli i na agresivní cookies. Desítky gigabajtů totiž určitě nejsou na jeden den provozu v pořádku.

 

 

Řešení pro Firefox

Pokud jste jako já a představa SSD (nebo hůř, třeba napevno osazeného 32GB eMMC v tabletu/notebooku) soustavně opotřebovávaného „zubem prohlížeče“ by vám nedávala spát, pak se lze excesivním zápisům bránit změnou frekvence, s jakou prohlížeč data ukládá. Přinejmenším máte-li Firefox. V něm to lze provést tak, že napíšete do adresního řádku about:config pro přístup k pokročilým volbám, a pak si zobrazíte volbu „browser.sessionstore.interval“. Její výchozí nastavení je 15 000 (15 sekund v milisekundách) a zvýšením hodnoty frekvenci zápisů omezíte. Podle toho, jak čerstvou chcete mít obnovu záložek po případném pádu, bych nastavil nějakou hodnotu v řádu minut (příklad: 600000 pro 10 minut, tedy 40× dlouhou periodu).

Ve Firefoxu je výchozí perioda ukládání 15 sekund. Většině z nás by měl stačit daleko delší interval
Ve Firefoxu je výchozí perioda ukládání 15 sekund. Většině z nás by měl stačit daleko delší interval

Pro Chrome se mi bohužel zatím podobný postup najít nepodařilo, věci asi moc nepomáhá, že ze začátku média „kauzu“ spojila čistě s Firefoxem. Pomoci by asi mohla i opatření jako neukládání cookies a historie (anonymní prohlížení) a použití noscriptu, která ale výrazně zasahují do funkčnosti prohlížeče nebo webů.

 

Toto přiškrcení by asi jinak mohlo být přínosné i co se týče výkonu, pokud používáte jako systémové úložiště mechanický disk. Odlehčení konstantní I/O zátěže by mohlo být znát na odezvě systému. Nevýhoda je samozřejmě v tom, že pokud systém či Firefox spadne, bude obnovená záloha stavu starší.

Zdroje: ServeTheHome, Hacker News

Webové prohlížeče ojíždějí SSD. Objem zápisů může vyčerpat kvóty levných disků

Ohodnoťte tento článek!

1 komentář