????iostat??Linux???IO????
????rrqm/s:??????merge??????????????delta(rmerge)/s
????wrqm/s:??????merge??д???????????delta(wmerge)/s
????r/s:????????I/O?豸????????delta(rio)/s
????w/s:???????дI/O?豸????????delta(wio)/s
????rsec/s:??????????????delta(rsect)/s
????wsec/s:???д??????????delta(wsect)/s
????rkB/s:????K?????????rsect/s???????????????С?512????(???????)
????wkB/s:???дK?????????wsect/s?????(???????)
????avgrq-sz:???????豸I/O???????????С(????)??delta(rsect+wsect)/delta(rio+wio)
????avgqu-sz:???I/O???г??????delta(aveq)/s/1000(???aveq???λ?????)??
????await:???????豸I/O???????????(????)????delta(ruse+wuse)/delta(rio+wio)
????svctm:???????豸I/O????????????(????)????delta(use)/delta(rio+wio)
????%util:??????а???????????????I/O?????????????????ж??????I/O????????????delta(use)/s/1000(???use???λ?????)
???????%util??????????????I/O???????I/O????????????????????????????
????idleС??70%IO??????????????????н???wait.
????????????vmstat????b????()??wa????()
????????????ο?
????svctm????С??await(?????????????????????????????)??svctm???С????????????й??CPU/?????????????????????????????????svctm???????await???С??????????????(svctm)???I/O???е?????I/O???????????????svctm?????await?????I/O??????е????????await?????svctm?????I/O?????????????????????????????????????????????????????Χ???????????????????????????????elevator???????????????????CPU??
???????г???(avgqu-sz)????????????I/O??????????????avgqu-sz??????λ???????????????????????I/O?????
????????????????????.(I/O??vs.???????)
??????????????????????????checkout????????????????????????????????????????5???????20???????????????????????????????????????????????????????и?????????????????裬????????????????????????????????????????????????????????????????????е????????????????????????5?????????????????????????????????¥???????????????????????????????????5???????????????????????????(????????????????????????????)??
????I/O????????????к?????????:
????r/s+w/s????????????????
??????????г???(avgqu-sz)???????λ?????????????????
??????????????(svctm)???????????????????
?????????????(await)??????????????????
???????I/O????(avgrq-sz)????????????????????????
????I/O??????(%util)???????????????????????????
????????????????Щ?????????I/O????????????I/O????????????
?????????????д?????????????????
#iostat-x1
avg-cpu:%user%nice%sys%idle
16.240.004.3179.44
Device:rrqm/swrqm/sr/sw/srsec/swsec/srkB/swkB/savgrq-szavgqu-szawaitsvctm%util
/dev/cciss/c0d0
0.0044.901.0227.558.16579.594.08289.8020.5722.3578.215.0014.29
/dev/cciss/c0d0p1
0.0044.901.0227.558.16579.594.08289.8020.5722.3578.215.0014.29
/dev/cciss/c0d0p2
0.000.000.000.000.000.000.000.000.000.000.000.000.00
?????????iostat???????????28.57???豸I/O????:??IO(io)/s=r/s(??)+w/s(д)=1.02+27.55=28.57(??/??)????д???????????(w:r=27:1)??
???????????豸I/O????????5ms?????????????I/O????????????78ms???????????????I/O???????(??????29??)????????Щ??????????????????????????????????????:
?????????????=????I/O???????*(1+2+…+????????-1)/????????
?????????????????:?????????=5ms*(1+2+…+28)/29=70ms????iostat??????78ms??????????????????????????I/O??????????
???????????I/O??????(?29??)??????????????(???2??????)?????????29??????????????????????????I/O????е??
???????????14.29%?????I/O??????????????????????85.71%???????I/O???????????????29??I/O??????142??????????????
????delta(ruse+wuse)/delta(io)=await=78.21=>delta(ruse+wuse)/s=78.21*delta(io)/s=78.21*28.57=2232.8????????????I/O?????????????2232.8ms????????????г?????2232.8ms/1000ms=2.23????iostat????????????г???(avgqu-sz)??22.35??????!???iostat????bug??avgqu-sz???2.23????????22.35??