国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

小議計(jì)算機(jī)軟件性能測(cè)試與監(jiān)控

2015-11-01 03:26:14許瀟湘江蘇聯(lián)宏自動(dòng)化系統(tǒng)工程有限公司
精品 2015年12期
關(guān)鍵詞:磁盤瓶頸內(nèi)存

□ 許瀟湘 江蘇聯(lián)宏自動(dòng)化系統(tǒng)工程有限公司

小議計(jì)算機(jī)軟件性能測(cè)試與監(jiān)控

□ 許瀟湘江蘇聯(lián)宏自動(dòng)化系統(tǒng)工程有限公司

通常驗(yàn)證軟件的性能在正常環(huán)境和系統(tǒng)條件下重復(fù)使用是否還能滿足性能指標(biāo)。軟件測(cè)試作為保障軟件質(zhì)量最有效的手段之一,現(xiàn)今已成為了研究熱點(diǎn)。隨著軟件規(guī)模的不斷增大,復(fù)雜度越來越大,與其他系統(tǒng)的接口不斷增多,應(yīng)用越來越廣泛,集成度越來越高,軟件測(cè)試這一環(huán)節(jié)必須得到重視,只有這樣,才能盡早的發(fā)現(xiàn)并解決錯(cuò)誤。本文重點(diǎn)從軟件性能測(cè)試的方法與監(jiān)控關(guān)鍵指標(biāo)的分析著手,集中從資源指標(biāo)與系統(tǒng)指標(biāo)兩方面進(jìn)行闡述。

軟件;軟件測(cè)試;指標(biāo)分析

1.引言

計(jì)算機(jī)領(lǐng)域,性能測(cè)試(performance testing)就是用來測(cè)試軟件在集成系統(tǒng)中的運(yùn)行性能。其目的是為了度量系統(tǒng)相對(duì)于預(yù)定義目標(biāo)的差距。軟件性能測(cè)試是在交替進(jìn)行負(fù)荷和強(qiáng)迫測(cè)試時(shí)常用的術(shù)語(yǔ)。軟件性能測(cè)試一般包括負(fù)載測(cè)試和軟件壓力測(cè)試。性能測(cè)試必須有工具支持,市面上有一些專門用于GUI或是web性能測(cè)試的工具,如:Loadrunner,Sil kperformance,Webload;性能測(cè)試收集的信息包括:CPU使用率、IO使用情況、內(nèi)存使用情況、系統(tǒng)反應(yīng)時(shí)間等。

2.軟件性能測(cè)試的目的

主要有:(1)評(píng)價(jià)系統(tǒng)當(dāng)前性能,判斷系統(tǒng)是否滿足預(yù)期的性能需求。(2)尋找軟件系統(tǒng)可能存在的性能問題,定位性能瓶頸并解決問題。(3)判定軟件系統(tǒng)的性能表現(xiàn),預(yù)見系統(tǒng)負(fù)載壓力承受力,在應(yīng)用部署之前,評(píng)估系統(tǒng)性能。

3.常見性能測(cè)試的方法

3.1負(fù)載測(cè)試

負(fù)載測(cè)試指的是最常見的驗(yàn)證一般性能需求而進(jìn)行的性能測(cè)試,在上面我們提到了用戶最常見的性能需求就是“既要馬兒跑,又要馬兒少吃草”。因此負(fù)載測(cè)試主要是考察軟件系統(tǒng)在既定負(fù)載下的性能表現(xiàn)。對(duì)負(fù)載測(cè)試的理解有:(1)負(fù)載測(cè)試是站在用戶的角度去觀察在一定條件下軟件系統(tǒng)的性能表現(xiàn)。(2)負(fù)載測(cè)試的預(yù)期結(jié)果是用戶的性能需求得到滿足。此指標(biāo)一般體現(xiàn)為響應(yīng)時(shí)間、交易容量、并發(fā)容量、資源使用率等。

3.2壓力測(cè)試

壓力測(cè)試是為了考察系統(tǒng)在極端條件下的表現(xiàn),極端條件可以是超負(fù)荷的交易量和并發(fā)用戶數(shù)。注意,這個(gè)極端條件并不一定是用戶的性能需求,可能要遠(yuǎn)遠(yuǎn)高于用戶的性能需求。可以這樣理解,壓力測(cè)試和負(fù)載測(cè)試不同的是,壓力測(cè)試的預(yù)期結(jié)果就是系統(tǒng)出現(xiàn)問題,而我們要考察的是系統(tǒng)處理問題的方式。比如說,我們期待一個(gè)系統(tǒng)在面臨壓力的情況下能夠保持穩(wěn)定,處理速度可以變慢,但不能系統(tǒng)崩潰。因此,壓力測(cè)試是能讓我們識(shí)別系統(tǒng)的弱點(diǎn)和在極限負(fù)載下程序?qū)⑷绾芜\(yùn)行。

3.3并發(fā)測(cè)試

是驗(yàn)證系統(tǒng)的并發(fā)處理能力。一般是和服務(wù)器端建立大量的并發(fā)連接,通過客戶端的響應(yīng)時(shí)間和服務(wù)器端的性能監(jiān)測(cè)情況來判斷系統(tǒng)是否達(dá)到了既定的并發(fā)能力指標(biāo)。負(fù)載測(cè)試往往就會(huì)使用并發(fā)來創(chuàng)造負(fù)載,之所以把并發(fā)測(cè)試單獨(dú)提出來,是因?yàn)椴l(fā)測(cè)試往往涉及服務(wù)器的并發(fā)容量,以及多進(jìn)程/多線程協(xié)調(diào)同步可能帶來的問題。這是要特別注意,必須測(cè)試的。

3.4基準(zhǔn)測(cè)試

當(dāng)軟件系統(tǒng)中增加一個(gè)新的模塊的時(shí)候,需要做基準(zhǔn)測(cè)試,以判斷新模塊對(duì)整個(gè)軟件系統(tǒng)的性能影響。按照基準(zhǔn)測(cè)試的方法,需要打開/關(guān)閉新模塊至少各做一次測(cè)試。關(guān)閉模塊之前的系統(tǒng)各個(gè)性能指標(biāo)記下來作為基準(zhǔn)(Benchmark),然后與打開模塊狀態(tài)下的系統(tǒng)性能指標(biāo)作比較,以判斷模塊對(duì)系統(tǒng)性能的影響。

3.5穩(wěn)定性測(cè)試

“路遙知馬力”,在這里我們要說的是和性能測(cè)試有關(guān)的穩(wěn)定性測(cè)試,即測(cè)試系統(tǒng)在一定負(fù)載下運(yùn)行長(zhǎng)時(shí)間后是否會(huì)發(fā)生問題。軟件系統(tǒng)的有些問題是不能一下子就暴露出來的,或者說是需要時(shí)間積累才能達(dá)到能夠度量的程度。為什么會(huì)需要這樣的測(cè)試呢?因?yàn)橛行┸浖膯栴}只有在運(yùn)行一天或一個(gè)星期甚至更長(zhǎng)的時(shí)間才會(huì)暴露。這種問題一般是程序占用資源卻不能及時(shí)釋放而引起的。比如,內(nèi)存泄漏問題就是經(jīng)過一段時(shí)間積累才會(huì)慢慢變得顯著,在運(yùn)行初期卻很難檢測(cè)出來;還有客戶端和服務(wù)器在負(fù)載運(yùn)行一段時(shí)間后,建立了大量的連接通路,卻不能有效地復(fù)用或及時(shí)釋放。

3.6可恢復(fù)測(cè)試

測(cè)試系統(tǒng)能否快速地從錯(cuò)誤狀態(tài)中恢復(fù)到正常狀態(tài)。比如,在一個(gè)配有負(fù)載均衡的系統(tǒng)中,主機(jī)承受了壓力無法正常工作后,備份機(jī)是否能夠快速地接管負(fù)載。可恢復(fù)測(cè)試通常結(jié)合壓力測(cè)試一起來做。

4.軟件性能測(cè)試中監(jiān)控關(guān)鍵指標(biāo)的分析

4.1資源指標(biāo)分析

4.1.1判斷CPU是否是瓶頸的方法

一般情況下CPU滿負(fù)荷工作,有時(shí)候并不能判定為CPU出現(xiàn)瓶頸,比如Linux總是試圖要CPU盡可能的繁忙,使得任務(wù)的吞吐量最大化,即CPU盡可能最大化使用。因此,一般判斷CPU為瓶頸,主要從兩方面:一是CPU空閑持續(xù)為0,二是運(yùn)行隊(duì)列大于CPU核數(shù)(經(jīng)驗(yàn)值3-4倍),即可判定存在瓶頸,對(duì)于CPU高消耗主要由什么引起的,可能是應(yīng)用程序不合理造成,也可能是硬件資源不足,需要具體問題具體分析,比如問題SQL語(yǔ)句引起,則需要跟蹤并優(yōu)化引起CPU使用過高的SQL語(yǔ)句。

4.1.2判斷內(nèi)存是否是瓶頸的方法

一般至少有10%可用內(nèi)存,內(nèi)存使用率可接受上限為85%。當(dāng)空閑內(nèi)存變小時(shí),系統(tǒng)開始頻繁地調(diào)動(dòng)磁盤頁(yè)面文件,空閑內(nèi)存過小可能是內(nèi)存不足或內(nèi)存泄漏引起,需要根據(jù)系統(tǒng)實(shí)際情況監(jiān)控分析。

4.1.3判斷磁盤I/O是否是瓶頸的方法

磁盤I/O對(duì)于數(shù)據(jù)庫(kù)服務(wù)器、文件服務(wù)器、流媒體服務(wù)器系統(tǒng)來說,更容易成為瓶頸,一般從以下幾個(gè)方面對(duì)磁盤I/O進(jìn)行分析判斷:

(1)計(jì)算每磁盤I/O數(shù)

每磁盤I/O數(shù)可用來與磁盤的I/O能力進(jìn)行對(duì)比,如果經(jīng)過計(jì)算得到的每磁盤I/O數(shù)超過了磁盤標(biāo)稱的I/O能力,則說明確實(shí)存在磁盤的性能瓶頸,每磁盤I/O計(jì)算方法如下表:

(2)監(jiān)控磁盤讀寫

如果磁盤長(zhǎng)時(shí)間進(jìn)行大數(shù)據(jù)量讀寫操作,且cpu等待超過20%,則說明磁盤I/O存在問題,考慮提高磁盤I/O讀寫性能。

4.1.4判斷網(wǎng)絡(luò)帶寬是否是瓶頸的方法

判斷網(wǎng)絡(luò)帶寬是否是系統(tǒng)運(yùn)行性能瓶頸的首要條件是網(wǎng)絡(luò)帶寬是否會(huì)影響系統(tǒng)交易執(zhí)行性能。例如:減小網(wǎng)絡(luò)帶寬,并發(fā)用戶數(shù)、響應(yīng)時(shí)間與事務(wù)通過率等性能指標(biāo)是否不能接受;或者增加網(wǎng)絡(luò)帶寬,并發(fā)用戶數(shù)、響應(yīng)時(shí)間與事務(wù)通過率等性能指標(biāo)會(huì)得到明顯提高

在實(shí)際性能測(cè)試中,如果發(fā)現(xiàn)始終報(bào)連接超時(shí),而實(shí)際手工訪問可以正常訪問,可以通過ping應(yīng)用服務(wù)器IP或網(wǎng)關(guān)IP,如果出現(xiàn) 網(wǎng)絡(luò)嚴(yán)重延遲或丟包,則說明網(wǎng)絡(luò)不穩(wěn)定,需要檢查網(wǎng)絡(luò)。

通過對(duì)資源指標(biāo)四個(gè)指標(biāo)的分析,實(shí)際上各個(gè)方面都是互相依賴的,不能孤立的單從某個(gè)方面進(jìn)行排查。當(dāng)一個(gè)方面出現(xiàn)性能問題時(shí),往往會(huì)引發(fā)其他方面的性能問題,例如,大量的磁盤讀寫勢(shì)必消耗CPU和IO資源,而內(nèi)存的不足會(huì)導(dǎo)致頻繁地進(jìn)行內(nèi)存頁(yè)寫入磁盤、磁盤寫到內(nèi)存的操作,造成磁盤IO瓶頸,同時(shí),大量的網(wǎng)絡(luò)流量也會(huì)造成CPU過載,所以,在分析性能問題時(shí),需要從各個(gè)方面進(jìn)行考慮。

4.2系統(tǒng)指標(biāo)分析

4.2.1并發(fā)用戶數(shù)

系統(tǒng)能夠支持的用戶數(shù)是系統(tǒng)容量的重要標(biāo)志,并發(fā)用戶數(shù)用于度量系統(tǒng)在高并發(fā)量訪問下,系統(tǒng)的并行處理能力,一般如果系統(tǒng)中存在死鎖、資源爭(zhēng)用,在并發(fā)訪問下,由于請(qǐng)求處于隊(duì)列等待中,系統(tǒng)響應(yīng)就會(huì)隨著時(shí)間變慢。

一般情況下,選用高吞吐量、高數(shù)據(jù)庫(kù)I/O、高商業(yè)風(fēng)險(xiǎn)的業(yè)務(wù)功能進(jìn)行并發(fā)用戶訪問測(cè)試。

判斷系統(tǒng)能夠承受的最大并發(fā)用戶數(shù),通常以滿足以下條件為準(zhǔn):(1)業(yè)務(wù)功能操作平均響應(yīng)時(shí)間在合理范圍之內(nèi);(2)事務(wù)成功率在合理范圍之內(nèi);(3)系統(tǒng)運(yùn)行無故障(無異常宕機(jī));(4)系統(tǒng)資源指標(biāo)使用在合理范圍內(nèi)。

4.2.2平均響應(yīng)時(shí)間

對(duì)于客戶端用戶來說,最直觀的體驗(yàn)就是訪問該頁(yè)面快或者慢,即響應(yīng)時(shí)間的長(zhǎng)短。比如在持續(xù)并發(fā)性能測(cè)試過程中,客戶感知訪問應(yīng)用很慢,監(jiān)控到的平均響應(yīng)時(shí)間也逐漸變長(zhǎng),這時(shí)就需要先借助于監(jiān)控到的資源指標(biāo),首先排除資源方面的限制因素,再?gòu)膽?yīng)用本身進(jìn)行定位,如可以采用頁(yè)面細(xì)分工具(如httpwatch、Loadrunner Anaysis中的頁(yè)面組件細(xì)分)分析響應(yīng)比較慢的頁(yè)面。

4.2.3事務(wù)成功率、超時(shí)出錯(cuò)率

事務(wù)成功率越高,則表明系統(tǒng)處理能力越大;而失敗事務(wù)主要由于系統(tǒng)響應(yīng)慢,導(dǎo)致訪問業(yè)務(wù)功能超時(shí),或者系統(tǒng)業(yè)務(wù)功能異常,不能正常訪問等,需要根據(jù)事務(wù)錯(cuò)誤提示信息,具體分析。

5.測(cè)試要點(diǎn)

主要是:(1)軟件性能測(cè)試計(jì)劃、方案一般與測(cè)試用例統(tǒng)一在一個(gè)文檔里。(2)測(cè)試環(huán)境應(yīng)盡量與用戶環(huán)境保持一致。(3)軟件性能測(cè)試一般使用測(cè)試工具和測(cè)試人員編制測(cè)試腳本來完成,軟件性能測(cè)試的環(huán)境應(yīng)單獨(dú)運(yùn)行盡量避免與其他軟件同時(shí)使用。(4)軟件性能測(cè)試的重點(diǎn)在于前期數(shù)據(jù)的設(shè)計(jì)與后期數(shù)據(jù)的分析。(5)軟件性能測(cè)試的用例主要涉及到整個(gè)系統(tǒng)架構(gòu)的問題,所以測(cè)試用例一旦生成,改動(dòng)一般不大,所以做軟件性能測(cè)試的重復(fù)使用率一般比較高。(說明:當(dāng)系統(tǒng)中出現(xiàn)的某個(gè)功能點(diǎn)需要修改,它一般只會(huì)影響到功能測(cè)試的設(shè)計(jì)用例,而對(duì)于軟件性能測(cè)試,很少影響到軟件性能測(cè)試的設(shè)計(jì)用例。但是如果某個(gè)功能有較大的修改,軟件性能測(cè)試也應(yīng)該進(jìn)行重新測(cè)試。)

6.結(jié)束語(yǔ)

綜上所述,軟件性能測(cè)試是執(zhí)行、監(jiān)控—〉分析—〉調(diào)優(yōu)不斷進(jìn)行的過程,即監(jiān)控是為分析提供更多的參考數(shù)據(jù),分析是為了進(jìn)行調(diào)優(yōu),調(diào)優(yōu)是解決當(dāng)前系統(tǒng)存在的性能瓶頸,為用戶提供更好、更快的客戶體驗(yàn)。由于分析、調(diào)優(yōu)需要根據(jù)具體問題進(jìn)行具體分析,本文未做過多說明,只對(duì)通用的關(guān)鍵指標(biāo)進(jìn)行監(jiān)控分析,建議在實(shí)際工作中可從資源指標(biāo)與系統(tǒng)指標(biāo)兩個(gè)方面,層層檢測(cè)、步步排查,性能問題就無處藏身,一旦找到出現(xiàn)問題的原因,性能問題也就迎刃而解!總之,軟件測(cè)試作為保障軟件質(zhì)量最有效的手段之一,現(xiàn)今已成為了研究熱點(diǎn)。隨著軟件規(guī)模的不斷增大,復(fù)雜度越來越大,與其他系統(tǒng)的接口不斷增多,應(yīng)用越來越廣泛,集成度越來越高,軟件測(cè)試這一環(huán)節(jié)必須得到重視,只有這樣,才能盡早的發(fā)現(xiàn)并解決錯(cuò)誤,提高效益、品質(zhì)。

猜你喜歡
磁盤瓶頸內(nèi)存
解決Windows磁盤簽名沖突
電腦愛好者(2019年2期)2019-10-30 03:45:31
“春夏秋冬”的內(nèi)存
修改磁盤屬性
磁盤組群組及iSCSI Target設(shè)置
創(chuàng)建VSAN群集
突破霧霾治理的瓶頸
突破瓶頸 實(shí)現(xiàn)多贏
如何渡過初創(chuàng)瓶頸期
基于內(nèi)存的地理信息訪問技術(shù)
繞過瓶頸
左贡县| 都匀市| 淳安县| 石台县| 龙井市| 沙湾县| 大关县| 光山县| 涞水县| 连平县| 绍兴县| 华阴市| 明光市| 江孜县| 逊克县| 赤壁市| 故城县| 邵武市| 大关县| 司法| 桓仁| 吴忠市| 池州市| 巩义市| 民县| 沙洋县| 蛟河市| 固阳县| 文昌市| 文登市| 正定县| 措美县| 铜陵市| 新晃| 东乡县| 达尔| 重庆市| 连江县| 修武县| 封开县| 屏山县|