Kako popraviti SSD v Ubuntuju za boljšo učinkovitost
Obstaja veliko nasvetov za prilagoditev SSD-ja v Linuxu in veliko poročil o tem, kaj deluje in kaj ne. Izvedli smo lastna merila z nekaj specifičnimi spremembami, da vam pokažemo pravo razliko.
Merila uspešnosti
Za merjenje našega diska smo uporabili testno zbirko Phoronix. To je brezplačno in ima skladišče za Ubuntu, tako da vam ni treba zbrati iz nič za izvajanje hitrih testov. Sistem smo testirali takoj po sveži namestitvi 64-bitnega Ubuntu Nattyja z uporabo privzetih parametrov za datotečni sistem ext4.
Naše sistemske specifikacije so bile naslednje:
- AMD Phenom II quad-core @ 3.2 GHz
- Matična plošča MSI 760GM E51
- 3,5 GB RAM
- AMD Radeon 3000 integriran z 512 MB RAM-a
- Ubuntu Natty
In seveda, SSD, ki smo ga uporabljali za testiranje, je bil 64 GB OCZ Onyx pogon ($ 117 na Amazon.com v času pisanja).
Vidne spremembe
Obstaja kar nekaj sprememb, ki jih ljudje priporočajo pri nadgradnji na SSD. Po filtriranju nekaterih starejših stvari smo naredili kratek seznam sprememb, ki jih Linuxovi distrosi niso vključili kot privzete vrednosti za SSD-je. Tri od njih vključujejo urejanje vaše datoteke fstab, zato jo nadaljujte, preden nadaljujete z naslednjim ukazom:
sudo cp / etc / fstab /etc/fstab.bak
Če gre kaj narobe, lahko vedno izbrišete novo datoteko fstab in jo nadomestite s kopijo varnostne kopije. Če ne veste, kaj je to, ali želite začrtati, kako deluje, si oglejte HTG Pojasnila: Kaj je Linux fstab in kako deluje?
Izogibanje časom dostopa
Pomagate lahko povečati življenjsko dobo SSD-ja, tako da zmanjšate količino operacijskega sistema na disk. Če morate vedeti, kdaj je bila vsaka datoteka ali imenik nazadnje dostopen, lahko dodate dve možnosti v datoteko / etc / fstab:
noatime, nodiratime
Dodajte jih skupaj z drugimi možnostmi in se prepričajte, da so vsi ločeni z vejicami in brez presledkov.
Omogočanje funkcije TRIM
Storitvi TRIM lahko omogočite dolgoročno upravljanje zmogljivosti diska. V datoteko fstab dodajte naslednjo možnost:
zavreči
To dobro deluje za datotečne sisteme ext4, tudi na standardnih trdih diskih. Verzija jedra mora biti vsaj 2.6.33 ali novejša; pokriti ste, če uporabljate Maverick ali Natty, ali imate omogočen backports na Lucid. Čeprav to ne izboljšuje posebej začetnega primerjalnega preizkušanja, bi moral sistem dolgoročno delovati bolje, zato je naš seznam postal naš.
Tmpfs
Sistemski predpomnilnik je shranjen v / tmp. Fstabu lahko povemo, da ga bo namestil v RAM kot začasni datotečni sistem, tako da se bo vaš sistem dotaknil trdega diska manj. Dodajte naslednjo vrstico na dno datoteke / etc / fstab v novi vrstici:
tmpfs / tmp tmpfs privzete vrednosti, noatime, mode = 1777 0 0
Shranite svojo datoteko fstab, da boste te spremembe objavili.
Preklapljanje razporejevalnikov IO
Vaš sistem ne zapisuje vseh sprememb na disk takoj in več zahtevkov čakajo v čakalno vrsto. Privzeti vhodno-izhodni razporejevalnik - cfq - obravnava to v redu, vendar lahko to spremenimo v tisto, ki deluje bolje za našo strojno opremo.
Najprej navedite, katere možnosti imate na voljo z naslednjim ukazom, ki nadomesti »X« s črko korenskega pogona:
cat / sys / block / sdX / queue / scheduler
Moja namestitev je na sda. Videli boste nekaj različnih možnosti.
Če imate rok, ga morate uporabiti, saj vam daje dodatno potovanje navzdol. V nasprotnem primeru lahko uporabljate noop brez težav. Operacijskemu sistemu moramo po vsakem zagonu uporabiti te možnosti, zato bomo morali urediti datoteko rc.local.
Uporabili bomo nano, ker smo zadovoljni z ukazno vrstico, vendar lahko uporabite kateri koli drug urejevalnik besedila, ki vam je všeč (gedit, vim itd.).
sudo nano /etc/rc.local
Nad črto "exit 0" dodajte ti dve vrstici, če uporabljate rok:
echo deadline> / sys / block / sdX / queue / scheduler
echo 1> / sys / block / sdX / queue / iosched / fifo_batch
Če uporabljate Noop, dodajte to vrstico:
echo noop> / sys / block / sdX / queue / scheduler
Še enkrat zamenjajte »X« z ustrezno črko pogona za vašo namestitev. Preglejte vse, da se prepričate, da izgleda dobro.
Nato pritisnite CTRL + O, da shranite, nato CTRL + X, da končate.
Ponovni zagon
Za uveljavitev vseh teh sprememb morate znova zagnati. Po tem morate biti pripravljeni. Če gre kaj narobe in se ne morete zagnati, lahko sistemsko razveljavite vse zgornje korake, dokler se ne zaženete znova. Če želite, lahko uporabite tudi LiveCD ali LiveUSB.
Vaše spremembe fstab-a bodo potekale skozi celotno življenjsko dobo vaše namestitve, tudi ob vzdrževanju nadgradenj, vendar bo treba vašo spremembo rc.local ponovno vzpostaviti po vsaki nadgradnji (med različicami).
Rezultati primerjalne analize
Za izvedbo meril smo izvedli test testov. Zgornja slika vsakega testa je pred prilagoditvijo konfiguracije ext4, spodnja slika pa po tweakih in ponovnem zagonu. Videli boste kratko razlago o tem, kakšni so testni ukrepi in razlaga rezultatov.
Operacije velikih datotek
Ta test stisne datoteko z 2 GB z naključnimi podatki in jo zapiše na disk. SSD tweaks tukaj kažejo približno 40% izboljšanje.
IOzone simulira zmogljivost datotečnega sistema, v tem primeru s pisanjem 8GB datoteke. Ponovno se je povečalo za skoraj 50%.
Tukaj se prebere 8 GB datoteka. Rezultati so skoraj enaki kot brez prilagajanja ext4.
AIO-Stress asinhrono preizkusi vhod in izhod z uporabo testne datoteke 2 GB in velikosti zapisov 64KB. Tukaj je skoraj 200% povečanje zmogljivosti v primerjavi z vanilijo ext4!
Operacije majhnih datotek
Izdelana je baza podatkov SQLite in PTS ji doda 12.500 zapisov. SSD tweaks tukaj dejansko upočasnila učinkovitost za približno 10%.
Apache Benchmark testira naključne odčitke majhnih datotek. Po optimizaciji SSD-a smo dosegli približno 25% večjo zmogljivost.
PostMark simulira 25.000 transakcij v datoteki, 500 hkrati v danem trenutku, pri čemer je velikost datotek med 5 in 512 KB. To precej dobro simulira spletne in poštne strežnike in opazimo 16-odstotno povečanje zmogljivosti po prilagoditvi.
FS-Mark gleda na 1000 datotek s skupno velikostjo 1 MB in meri, koliko jih je mogoče v celoti zapisati in prebrati v predhodno določenem času. Naši popravki ponovno vidijo povečanje z manjšimi velikostmi datotek. Približno 45% povečanje s prilagoditvami ext4.
Dostop do datotečnega sistema
Dbench merila preizkušajo klice v datotečnem sistemu s strani odjemalcev. Pri tem se učinkovitost vanilije ext4 zmanjša za 75%, kar je velik korak nazaj v spremembah, ki smo jih naredili.
Vidite lahko, da se s povečevanjem števila strank povečuje neusklajenost v učinkovitosti.
Z 48 odjemalci je vrzel med njima dokaj zaprta, vendar je še vedno zelo očitna izguba zmogljivosti zaradi naših sprememb.
S 128 strankami je zmogljivost skoraj enaka. Lahko razložite, da naše prilagoditve morda niso idealne za domačo uporabo v tej vrsti operacije, vendar bodo zagotovile primerljivo zmogljivost, ko se število strank močno poveča..
Ta test je odvisen od knjižnice dostopa do jedra. tu imamo izboljšanje za 20%.
Tukaj imamo večkratno naključno branje 64 MB in tu je 200-odstotno povečanje zmogljivosti! Vau!
Med pisanjem 64 MB podatkov s 32 temami, imamo še vedno 75-odstotno povečanje zmogljivosti.
Compile Bench simulira učinek starosti na datotečni sistem, kot je predstavljen z manipuliranjem dreves jedra (ustvarjanje, prevajanje, popravljanje itd.). Tukaj lahko vidite veliko korist z začetnim ustvarjanjem simuliranega jedra, približno 40%.
Ta merila preprosto merijo, koliko časa traja, da izvlečete jedro Linuxa. Ne preveč povečanja zmogljivosti.
Povzetek
Prilagoditve, ki smo jih naredili za Ubuntujevo zunanjo konfiguracijo ext4, so imele velik vpliv. Največje izboljšanje zmogljivosti je bilo v področjih večnitnih zapisov in branja, majhne bralne datoteke in velike sosednje datoteke, ki se berejo in zapisujejo. Pravzaprav je edini pravi kraj, ki smo ga videli v uspešnosti, bili preprosti klici v datotečnem sistemu, za kar bi morali uporabniki Sambe paziti. Na splošno se zdi, da je to zelo dobro povečanje zmogljivosti za stvari, kot so gostovanje spletnih strani in gledanje / pretakanje velikih videoposnetkov.
Imejte v mislih, da je to bilo posebej s 64-bitno različico Ubuntu Natty. Če je vaš sistem ali SSD drugačen, se lahko vaše število prevoženih kilometrov razlikuje. Na splošno pa se zdi, da so prilagoditve fstab in IO scheduler, ki smo jih naredili, daleč daleč k boljši učinkovitosti, zato je verjetno vredno poskusiti na lastni napravi.
Imate svoja merila in želite deliti svoje rezultate? Imate še en tweak, o katerem ne vemo? Zveni v komentarjih!