ProHoster > Blog > Rêveberî > Meriv çawa performansa hilanînê li Linux-ê dinirxîne: pîvandin bi karanîna amûrên vekirî
Meriv çawa performansa hilanînê li Linux-ê dinirxîne: pîvandin bi karanîna amûrên vekirî
В cara dawî me ji bo nirxandina performansa pêvajoyê û bîranînê li ser amûrên çavkaniya vekirî axivî. Îro em li ser pîvanên pergalên pelan û pergalên hilanînê yên li Linux-ê diaxivin - Interbench, Fio, Hdparm, S û Bonnie.
Fio (wekî Flexible I/O Tester radiweste) ji bo nirxandina performansa pergala pelê Linux-ê tîrêjên I/O yên dîskê diafirîne. Karûbar dikare li ser Windows-ê jî were xebitandin - hûn hewce ne ku pêwendiya rêza fermanê saz bikin Cygwin. Rêbernameya sazkirinê tê de ye depoyên fio li ser GitHub.
Nivîskar fio - Jens Axbo (Jens Axboe), berpirsiyar ji bo bine-pergala IO-ya li Linux û pêşdebirê karûbar blktrace ji bo şopandina operasyonên I/O. Wî fio afirand, ji ber ku ez westiyam bernameyan binivîsin da ku barên taybetî bi destan ceribandin.
Bikarhêner dê IOPS û rêgirtina pergalê hesab bike, û di heman demê de dihêle hûn kûrahiya rêza operasyonên I/O texmîn bikin. Vebijêrk bi pelên taybetî (.fio extension) re dixebite ku tê de mîheng û şertên ceribandinê têne diyar kirin. Gelek vebijarkên testê hene, wek nimûne, nivîsandina rasthatî, xwendin û nivîsandinê heye. Vir nimûne naveroka pelê ji bo doza yekem:
Karûbar di sala 2005-an de ji hêla pêşdebirê Kanadayî Mark Lord ve hatî nivîsandin. Ew hê jî ji hêla nivîskar ve hatî piştgirî kirin û beşek ji gelek belavokên populer e. Armanca sereke ya hdparm ev e ku pîvanên ajokerê mîheng bike. Lê hacet dikare ji bo pîvanên hêsan bikar bînin, wek mînak leza xwendinê. Ji bo vê yekê, emrê di konsolê de binivîse:
$ sudo hdparm -t /dev/sdb
Pergal dê bersivek weha çêbike:
Timing buffered disk reads: 242 MB in 3.01 seconds = 80.30 MB/sec
Wekî ku ji bo veavakirina ajokaran, hdparm dihêle hûn mezinahiya bîra cache-ê biguhezînin, moda xewê û mîhengên hêzê biguhezînin, û her weha bi ewlehî daneyên li ser SSD-ê jêbirin. Lê çawa gazîgîhandin Pisporên ji ArchLinux-ê, bi guheztina pîvanên pergalê dikare daneyên li ser dîskê negihîje û tewra zirarê bide ajokerê. Berî ku hûn bi hdparm re bixebitin, çêtir e ku meriv manualê bixwînin - tenê fermana man hdparm di konsolê de binivîsin.
Ev komek pîvanan e ji bo nirxandina performansa pergalên I/O. Nivîskarên bikêrhatî bûn tîma pêşveçûnê ji koma AlgoDev, ku tê de xebatkarên Italiantalî hene Zanîngeha Modena û Reggio Emilia.
Hemî pîvan skrîptên bash in, nirxandinvanan Performansa pergala hilanînê - berbiçûk, dereng, performansa plansazker. Mînakî, pîvana throughput-sync.sh pergala hilanînê bi daxwazên xwendin an nivîsandinê "bombebaran dike" (di vê rewşê de, amûra fio ya ku berê hatî destnîşan kirin tê bikar anîn). Vir koda ji bo vê skrîptê.
Nivîsarek din - comm_startup_lat.sh - derengiya xwendina daneya ji dîskê dipîve dema ku cache "sar" be (gava ku ew daneyên pêwîst nagire). Kod jî dikare di depoyê de were dîtin.
Karûbarek ji bo nirxandina performansa pergala pelan, ku di 1989 de hatî pêşve xistin. Nivîskarê wê endezyar Tim Bray bû. Bi alîkariya Bonnie wî plan kir optimîze bike xebitandina pergalên komputerê yên ku di projeyê de beşdar bûne Ferhenga Îngilîzî ya Nû ya Oxfordê li Zanîngeha Waterloo.
Bonnie pêk tîne xwendin û nivîsandina rasthatî ya daneyan li ser dîskê. Dûv re, karûbar pîvanên wekî hejmara baytên ku li ser têne hilberandin nîşan dide CPU-duyemîn, û her weha asta barkirina pêvajoyê wekî sedî. Koda çavkaniyê ya pîvanê heye li Google Code bibînin.
Li ser bingeha Bonnie, komek amûrên din ên ji bo ceribandina dîskên hişk têne çêkirin - Bonnie++ (li şûna C bi C++ hatiye nivîsandin). Ew amûrên pîvanê yên din peyda dike. Mînakî, zcav ji bo nirxandina performansa deverên cûda yên HDD. Her weha Bonnie ++ подходит ji bo ceribandina pêşkêşkerên nameyê û serverên databasê.
Karûbar pêşxist Con Kolivas (Con Kolivas), anestezîstê Avusturalya yê ku bi tevkariyên xwe yên ji bo pêşkeftina kernel Linux û xebata li ser " tê zanîn.scheduler processor adil" Interbench ji we re dibe alîkar ku hûn mîhengên bernameya I/O û pergala pelan mîheng bikin.
Interbench dema ku peywirên înteraktîf pêk tîne tevgerê nexşerêya CPU-yê emil dike. Van peywirên înteraktîf dikarin bi deng û vîdyoyê re bixebitin, lîstikên komputerê bimeşînin, an jî bi tenê qutiyek diyalogê di pergala xebitandinê de bikişînin.