Kuinka arvioida tallennussuorituskykyä Linuxissa: vertailu avoimilla työkaluilla
В viime kerta puhuimme avoimen lähdekoodin työkaluista prosessorin ja muistin suorituskyvyn arviointiin. Tänään puhumme Linuxin tiedostojärjestelmien ja tallennusjärjestelmien vertailuarvoista - Interbench, Fio, Hdparm, S ja Bonnie.
Fio (lyhenne sanoista Flexible I/O Tester) luo levy-I/O-virtoja Linux-tiedostojärjestelmän suorituskyvyn arvioimiseksi. Apuohjelma voidaan käyttää myös Windowsissa - sinun on asennettava komentorivikäyttöliittymä cygwin. Asennusopas on mukana fio-tietovarastot GitHubissa.
Kirjailija fio - Jens Axbo (Jens Axboe), vastuullinen Linuxin IO-alijärjestelmälle ja apuohjelmien kehittäjälle blktrace I/O-toimintojen jäljittämiseen. Hän loi fio, koska olen väsynyt kirjoittaa ohjelmia tiettyjen kuormien testaamiseksi manuaalisesti.
Apuohjelma laskee IOPS:n ja järjestelmän suorituskyvyn sekä antaa sinun arvioida I/O-toimintojen jonon syvyyden. Apuohjelma toimii erikoistiedostojen (.fio-pääte) kanssa, joissa määritetään asetukset ja testiehdot. Testausvaihtoehtoja on useita, esimerkiksi satunnainen kirjoittaminen, lukeminen ja päällekirjoitus. Tässä esimerkki tiedoston sisältö ensimmäisessä tapauksessa:
Kanadalainen kehittäjä Mark Lord kirjoitti apuohjelman vuonna 2005. Hän edelleen kirjoittajan tukemana ja se on osa monia suosittuja jakeluja. hdparmin päätarkoitus on taajuusmuuttajan parametrien konfigurointi. Mutta työkalu voidaan muodostaa Käytä yksinkertaisiin vertailuarvoihin, kuten lukunopeuteen. Tee tämä kirjoittamalla komento konsoliin:
$ sudo hdparm -t /dev/sdb
Järjestelmä luo seuraavanlaisen vastauksen:
Timing buffered disk reads: 242 MB in 3.01 seconds = 80.30 MB/sec
Mitä tulee asemien konfigurointiin, hdparm antaa sinun muuttaa välimuistin kokoa, muokata lepotilaa ja tehoasetuksia sekä poistaa turvallisesti tietoja SSD-levyltä. Mutta miten varoittaa ArchLinuxin asiantuntijat, huolimattomat muutokset järjestelmäparametreihin voivat tehdä levyllä olevista tiedoista käyttökelvottomia ja jopa vahingoittaa asemaa. Ennen kuin työskentelet hdparmin kanssa, on parempi lukea käsikirja - kirjoita vain komento man hdparm konsoliin.
Tämä on joukko vertailuarvoja I/O-järjestelmien suorituskyvyn arvioimiseksi. Apuohjelman kirjoittajat olivat kehitystiimi AlgoDev-konsernista, johon kuuluu italialaisia työntekijöitä Modenan yliopisto ja Reggio Emilia.
Kaikki vertailuarvot ovat bash-skriptejä, arvioijat tallennusjärjestelmän suorituskyky - suorituskyky, latenssi, ajastimen suorituskyky. Esimerkiksi throughput-sync.sh benchmark "pommittaa" tallennusjärjestelmää luku- tai kirjoituspyynnöillä (tässä tapauksessa käytetään jo mainittua fio-apuohjelmaa). Tässä koodi tälle skriptille.
Toinen komentosarja - comm_startup_lat.sh - mittaa levyn tietojen lukemisen viivettä, kun välimuisti on "kylmä" (kun se ei sisällä tarvittavia tietoja). Koodi myös löytyy arkistosta.
Vuonna 1989 kehitetty apuohjelma tiedostojärjestelmän suorituskyvyn arviointiin. Sen kirjoittaja oli insinööri Tim Bray. Bonnien avulla hän suunnitteli optimoida hankkeeseen liittyvien tietokonejärjestelmien käyttö Uusi Oxfordin englannin sanakirja Waterloon yliopistossa.
Bonnie täyttää tietojen satunnainen lukeminen ja kirjoittaminen levylle. Tämän jälkeen apuohjelma näyttää parametreja, kuten prosessoitujen tavujen määrän CPU-sekunti, sekä prosessorin kuormitustaso prosentteina. Vertailulähdekoodi on saatavilla löytää Google Codesta.
Bonnien pohjalta rakennetaan toinen työkalusarja kiintolevyjen testaamiseen - Bonnie++ (kirjoitettu C++:lla C:n sijaan). Se tarjoaa lisää vertailutyökaluja. Esimerkiksi zcav arvioimaan eri HDD-vyöhykkeiden suorituskykyä. Myös Bonnie++ подходит sähköpostipalvelimien ja tietokantapalvelimien testaamiseen.
Kehittänyt apuohjelman Con Kolivas (Con Kolivas), australialainen anestesialääkäri, joka tunnetaan panoksestaan Linux-ytimen kehittämisessä ja työstään "reilu prosessorin aikataulu" Interbench auttaa sinua määrittämään I/O-aikataulun ja tiedostojärjestelmän asetukset.
Interbench emuloi suorittimen ajoittimen toimintaa suoritettaessa interaktiivisia tehtäviä. Näitä interaktiivisia tehtäviä voivat olla äänen ja videon käsittely, tietokonepelien pelaaminen tai yksinkertaisesti käyttöjärjestelmän valintaikkunan vetäminen.