- Detaljna analiza metrike performansi pohrane podataka, s razlikovanjem između IOPS-a, latencije i brzine prijenosa.
- Napredne metodologije i alati za dijagnostiku diskova u GNU/Linux i Microsoft Windows okruženjima.
- Strategije za identifikaciju uskih grla na ulazu i izlazu u fizičkim sistemima i virtuelnim mašinama u oblaku.
Kada sastavljamo računar ili konfigurišemo server, često postanemo opsjednuti sekvencijalnim brzinama čitanja i pisanja, ali stvarnost je da je ova brojka samo vrh ledenog brijega. Da bismo znali da li je tvrdi disk zaista munjevito brz ili ne, moramo zaviriti ispod haube i analizirati IOPS i latenciju , što su vrijednosti koje određuju kako se pohrana ponaša u svakodnevnoj upotrebi, posebno kod teških zadataka ili baza podataka.
Mnogi ljudi su razočarani kada kupuju SSD isključivo na osnovu reklama, jer proizvođači često koriste sintetičke benchmarkove koji nemaju nikakve sličnosti sa stvarnom upotrebom. Stoga je ključno naučiti kako koristiti dijagnostičke alate koji nam omogućavaju da shvatimo da li naš hardver radi kako treba ili postoji nevidljivo usko grlo koje usporava naš sistem.
Osnovni koncepti: IOPS, latencija i propusnost
Da bismo izbjegli zabunu, krenimo s osnovama. IOPS (Input/Output Operations Per Second - Ulazno/Izlazne Operacije Po Sekundi) predstavlja broj ulazno /izlaznih operacija koje disk može obraditi u jednoj sekundi. Dok stariji mehanički tvrdi disk može dostići samo nekoliko stotina, moderni SSD može postići desetine hiljada, što čini značajnu razliku pri otvaranju aplikacija ili upravljanju hiljadama malih datoteka.
Zatim imamo latenciju, što je u osnovi vrijeme odziva . To je vrijeme koje prođe od trenutka kada aplikacija zatraži podatke do trenutka kada ih SSD isporuči. U svijetu SSD-ova, cilj nam je da ova vrijednost bude što niža, idealno u rasponu od mikrosekundi ili vrlo niskih milisekundi , budući da se visoka latencija direktno prevodi u mikro-zastoje ili sporo vrijeme odziva.
Konačno, propusnost ili brzina prijenosa se mjeri u MB/s ili GB/s i odnosi se na količinu premještenih podataka . Važno je razumjeti da su IOPS i propusnost povezani veličinom bloka: ako premještate vrlo velike blokove, IOPS se smanjuje, ali se propusnost u MB/s povećava, dok se kod malih blokova događa suprotno.
Alati i metrike u GNU/Linuxu
U Linux ekosistemu imamo nevjerovatan arsenal za praćenje diskova. Jedan od najklasičnijih alata je iostat , koji nam omogućava da vidimo transfere u sekundi (tps) i procenat čekanja CPU-a (%iowait) . Budite oprezni sa iowait-om, jer može zavarati: ako nadogradite svoj CPU na snažniji, procenat čekanja bi se mogao povećati čak i ako disku i dalje treba isto vrijeme, jednostavno zato što procesor brže završava svoje zadatke i provodi više vremena čekajući na prostor za pohranu - što je uobičajena pojava prilikom optimizacije performansi Ubuntua.
Za one koji traže hiruršku preciznost, fio (Flexible IO) je ultimativni alat. Omogućava vam simuliranje stvarnih opterećenja, bilo da se radi o nasumičnim čitanjima ili sekvencijalnim pisanjima, definiranjem veličine bloka (npr. 4k) i dubine reda čekanja. Ovo je ključno za testiranje baza podataka, koje su izuzetno osjetljive na latenciju i zahtijevaju da se pisanje završi za manje od 5 ms.
Ako vam je potrebno nešto slično pingu, ali za vaš disk, ioping je idealna opcija. Omogućava vam mjerenje I/O latencije u realnom vremenu na direktoriju ili blok uređaju, što olakšava otkrivanje skokova latencije bez potrebe za pokretanjem složenih i dugotrajnih testova.
- hdparm: Korisno za brzo čitanje i za onemogućavanje keša za pisanje ako želimo izmjeriti stvarne performanse hardvera.
- dd: Vrlo uobičajeno za brze testove pisanja, iako danas nije dovoljno dobro jer je to proces jedna nit.
- LVM i dmsetup: Neophodno za identifikaciju koji fizički disk odgovara svakom logičkom volumenu u složenim konfiguracijama.
Evaluacija performansi u Windowsu 11
Na Windowsu je okruženje drugačije, ali jednako moćno. Za one koji preferiraju vizualni interfejs i ne žele se baviti komandnom linijom, postoje upravitelji particija poput AOMEI -jevog softvera , koji uključuje jednostavan način rada i profesionalni način rada za intuitivnu analizu brzine čitanja i pisanja, omogućavajući vam izvoz rezultata kao tekst ili snimke ekrana - idealno za one koji žele optimizirati SSD na Windowsu 11.
Za naprednije korisnike ili tehničke profile, Microsoft nudi DiskSpd . To je izuzetno fleksibilan alat komandne linije koji vam omogućava da konfigurišete trajanje testa opterećenja , vrijeme zagrijavanja i veličinu testne datoteke. Kada se pokrene, možete analizirati latenciju i prosječne performanse, onemogućavajući keširanje hardvera i softvera kako biste spriječili da se rezultati napuhavaju zbog korištenja RAM-a.
Prilikom interpretacije DiskSpd podataka, ključno je pogledati tabele ukupnog IO-a i latencije. Ako se latencija dramatično povećava kako se povećava dubina reda čekanja, to znači da uređaj dostiže svoju granicu zasićenja , bez obzira na to da li se brzina prijenosa u MB/s čini prihvatljivom. Ovo bi moglo ukazivati na to da je vrijeme za rješavanje problema 100% iskorištenosti diska u Windowsu 11.
Dijagnoza uskih grla u oblaku (Azure i virtuelne mašine)
Prilikom rada s virtualnim mašinama, performanse ne zavise samo od diska već i od SKU-a virtualne mašine . Vrlo je često pronaći situacije u kojima imamo ultrabrzi disk (poput premium SSD-a), ali virtualna mašina ima niži limit propusnog opsega. U tim slučajevima, usko grlo nije pohrana, već procesorski kapacitet same instance, što čak utiče i na grafičke performanse u virtualnim mašinama.
Da bi se ovo riješilo u Linuxu, preporučuje se praćenje odnosa između prosječnog opterećenja i korištenja CPU-a. Ako je opterećenje veliko , ali CPU ne radi, to je jasan znak da su procesi blokirani i čekaju odgovor diska. Alati poput PerfInsights u Azureu pomažu u automatizaciji ove analize, kategorizirajući nalaze na osnovu njihovog utjecaja na sistem.
Ključno je uspostaviti osnovnu liniju performansi prije nego što se naprave promjene. Na primjer, ako promijenimo veličinu virtuelne mašine sa 2 na 8 jezgara i prosječno opterećenje dramatično padne, potvrđujemo da je problem bio u računarskom kapacitetu, a ne u hardveru za pohranu. U oblaku, latencija može varirati ovisno o vrsti diska: Ultra diskovi nude latencije od tri cifre (mikrosekunde), dok standardni HDD-ovi mogu dostići dvocifrene milisekunde.
I u lokalnim i u cloud okruženjima, ključno je ne oslanjati se samo na jednu metriku. Kombiniranje IOPS-a, vremena odziva i propusnosti jedini je način da se dobije prava slika o zdravlju vašeg SSD-a, što vam omogućava optimizaciju konfiguracije kritičnih aplikacija poput MySQL-a ili MariaDB-a, na primjer, prilagođavanjem veličine stranice InnoDB-a tako da odgovara veličini sektora diska.
Strastveni pisac o svijetu bajtova i tehnologije općenito. Volim dijeliti svoje znanje kroz pisanje, a to je ono što ću raditi na ovom blogu, pokazivati vam sve najzanimljivije stvari o gadžetima, softveru, hardveru, tehnološkim trendovima i još mnogo toga. Moj cilj je pomoći vam da se krećete u digitalnom svijetu na jednostavan i zabavan način.
