資源描述:
《性能測(cè)試時(shí)的性能衡量指標(biāo)與監(jiān)控系統(tǒng)指標(biāo)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、分享一下個(gè)人在做性能測(cè)試時(shí)的性能衡量指標(biāo)與監(jiān)控系統(tǒng)指標(biāo)性能衡量指標(biāo)一般有以下幾個(gè):1.響應(yīng)時(shí)間2.并發(fā)用戶數(shù)3.吞吐量4.TPS上面幾個(gè)指標(biāo)的具體理解我就不說(shuō)了,網(wǎng)上有很多。那么在實(shí)際的性能測(cè)試中,一般我們拿到線上的pv值,那么根據(jù)pv值我們?cè)趺此愠龊线m的線程數(shù),以及系統(tǒng)的吞吐量呢?首先分享一下TPS的計(jì)算方式:2種方式:峰值法和二八法峰值法:取一段峰值訪問(wèn)時(shí)間的pv,除以時(shí)間長(zhǎng)度,得到TPS二八法:TPS平均值=((PV*80%)/(24*60*60*20%))/服務(wù)器數(shù)量=pv/s????????????TPS峰值=(((PV*80%)/(24*60*6
2、0*20%))*1.6)/服務(wù)器數(shù)量=pv/s對(duì)于金融產(chǎn)品組,一般pv值指的是每天的請(qǐng)求數(shù)(如果是web頁(yè)面訪問(wèn),PV有可能值交易數(shù),一個(gè)交易可能有多個(gè)請(qǐng)求,這個(gè)需要和PD確認(rèn)清楚),如果是請(qǐng)求數(shù),那么我們得到的TPS可以理解為系統(tǒng)的吞吐量。以信用卡快捷支付為例:改產(chǎn)品預(yù)計(jì)的pv值為3000w/天,按照一天24小時(shí)80%的訪問(wèn)量集中在20%的時(shí)間來(lái)計(jì)算系統(tǒng)每秒鐘處理的請(qǐng)求數(shù)為:TPS平均值=((PV*80%)/(24*60*60*20%))=1388個(gè)請(qǐng)求/S?,線上有8臺(tái)機(jī)器,但我們的壓力按照4臺(tái)機(jī)器來(lái)計(jì)算的,再除以4為347/s.得到這個(gè)吞吐量后,我們的
3、并發(fā)線程數(shù)如何來(lái)設(shè)置來(lái),可以用單線程的方式來(lái)確定,在jmeter中設(shè)置并發(fā)線程數(shù)為1,運(yùn)行時(shí)間為1s,觀察聚合報(bào)告,看1s的時(shí)間內(nèi)一個(gè)線程可以發(fā)多少個(gè)請(qǐng)求,結(jié)果為25個(gè)請(qǐng)求左右,那么再用347/25=13.88,?最后設(shè)置的最佳并發(fā)數(shù)為15,在該并發(fā)下tps大于并超過(guò)預(yù)期的347/S20%左右。于是我們可以認(rèn)為這是比較合理的并發(fā)線程數(shù)。系統(tǒng)指標(biāo):1.cpu2.load3.mem4.I/O5.jvmcpu:在linux系統(tǒng)下可以用top命令查看,(發(fā)現(xiàn)不能貼圖,先算了)主要關(guān)注這幾個(gè)指標(biāo):Cpu(s):?0.0%us,?0.2%sy,?0.0%ni,99.8%
4、id,?0.0%wa,?0.0%hi,?0.0%si用戶時(shí)間【UserTime】表示用戶進(jìn)程所花費(fèi)的CPU百分比,包括Nice時(shí)間。在用戶時(shí)間值很高的情況下,表明系統(tǒng)正在執(zhí)行實(shí)際的工作。系統(tǒng)時(shí)間【SystemTime】表示內(nèi)核操作所花費(fèi)的CPU百分比,包括硬中斷【IRQ】和軟中斷[SoftIRQ]。系統(tǒng)時(shí)間值持續(xù)很高表明網(wǎng)絡(luò)或驅(qū)動(dòng)器堆棧可能存在瓶頸。通常系統(tǒng)只花費(fèi)很少時(shí)間在內(nèi)核時(shí)間上。Nice時(shí)間【Nicetime】表示花費(fèi)在執(zhí)行re-nicing(改變進(jìn)程的執(zhí)行順序和優(yōu)先級(jí))進(jìn)程的CPU百分比等待【W(wǎng)aiting】花費(fèi)在等待I/O操作所需的CPU時(shí)間總和,
5、系統(tǒng)不應(yīng)該花費(fèi)過(guò)多的時(shí)間等待I/O操作;否則你應(yīng)該檢查一下I/O子系統(tǒng)各方面性能。?空閑時(shí)間【Idletime】表示CPU空閑的百分比。一般cpu指標(biāo)低于60%比較合理,具體指標(biāo)可以根據(jù)產(chǎn)品情況調(diào)整。?loadAverage:平均負(fù)載值這個(gè)值很多開(kāi)發(fā)都弄不清楚應(yīng)該怎么計(jì)算,曾經(jīng)看見(jiàn)一個(gè)開(kāi)發(fā)發(fā)的監(jiān)控報(bào)告說(shuō):系統(tǒng)負(fù)載值已超過(guò)2,認(rèn)為系統(tǒng)負(fù)載過(guò)高,要求加硬件擴(kuò)容。這個(gè)在系統(tǒng)內(nèi)核數(shù)沒(méi)有說(shuō)明的情況下是完全不合理的,下面來(lái)解釋一下:?LoadAverage是CPU的Load,它所包含的信息不是CPU的使用率狀況,而是在一段時(shí)間內(nèi)CPU正在處理以及等待CPU處理的進(jìn)程數(shù)之
6、和的統(tǒng)計(jì)信息,也就是CPU使用隊(duì)列的長(zhǎng)度的統(tǒng)計(jì)信息。這個(gè)和cpu的核數(shù)有關(guān)(查看cpu核數(shù)的命令為:cat/proc/cpuinfo,會(huì)展示出處理器的個(gè)數(shù)和每個(gè)處理器的內(nèi)核數(shù),把每個(gè)處理器的內(nèi)核數(shù)相加即為系統(tǒng)的內(nèi)核數(shù)),現(xiàn)在一般的配置為8核。那么該系統(tǒng)可同時(shí)處理8個(gè)進(jìn)程,所以在沒(méi)有排隊(duì)的情況下,cpu都在處理的話,load值為8都是很合理的。一般在性能測(cè)試中要求load<=cpu核個(gè)數(shù)*2,那么我們認(rèn)為loadAverage等于16,我們認(rèn)為都是可以接受的,這時(shí)系統(tǒng)有8個(gè)進(jìn)程在處理,8個(gè)進(jìn)程在排隊(duì),但每個(gè)cpu平均只有1個(gè)進(jìn)程在排隊(duì)。同樣,這個(gè)指標(biāo)也可以適當(dāng)
7、調(diào)整,一般我取的值是load<=cpu核個(gè)數(shù)+2?mem:用free可以查看?total??????used??????free????shared???buffers????cachedMem:??????2048132???2028508?????19624?????????0?????10256????593292-/+buffers/cache:???1424960????623172Swap:?????1052248??????5160???1047088?實(shí)際的物理內(nèi)存使用為1424960.Cache:一般指頻繁讀寫(xiě)的文件被cache的內(nèi)存大小B
8、uffer:一般值內(nèi)存中讀寫(xiě)磁盤(pán)的緩沖大小Total