分析原則:

1. 具體問題具體分析(這是由于不同的應用系統,不同的測試目的,不同的性能關注點)

2. 查找瓶頸時按以下順序,由易到難。

服務器硬件瓶頸 網絡瓶頸(對局域網,可以不考慮) 服務器操作系統瓶頸(參數配置) 中間件瓶頸(參數配置,數據庫web服務器等) 應用瓶頸(SQL語句、數據庫設計、業務邏輯、算法等)

分析的信息來源:

1. 根據場景運行過程中的錯誤提示信息

2. 根據測試結果收集到的監控指標數據


一.錯誤提示分析

分析實例:

1.Error: Failed to connect to server “172.17.7.230″: [10060] Connection

Error: timed out Error: Server “172.17.7.230″ has shut down the connection prematurely

分析:

A、應用服務死掉。

(小用戶時:程序上的問題。程序上處理數據庫的問題,實際測試中多半是服務器鏈接的配置問題)

B、應用服務沒有死

(應用服務參數設置問題)

對應的Apache和tomcat的最大鏈接數需要修改,如果連接時收到connection refused消息,說明應提高相應的服務器最大連接的設置,增加幅度要根據實際情況和服務器硬件的情況來定,建議每次增加25%!

C、數據庫的連接

(數據庫啟動的最大連接數(跟硬件的內存有關))

D、我們的應用程序spring控制的最大鏈接數太低

2. Error: Page download timeout (120 seconds) has expired

分析:

A、應用服務參數設置太大導致服務器的瓶頸

B、頁面中圖片太多

C、在程序處理表的時候檢查字段太大多

 D、實際測試時有些資源需要請求外網,而我們的測試環境是局域網環境

3. Error “http://172.17.7.230/Home.do....”

分析:

A、腳本設計錯誤,造成頁面異常。服務器有響應!

B、并發數過大,造成服務器響應延遲。

4. Error page “text=xxxxx”

分析:

A、腳本設計問題,例如,前一腳本修改了某些內容,造成后面的腳本訪問異常。

B、不確定因素,有時候回放正常的腳本,一放到場景中就出現這樣的錯誤。只能反復修改腳本!


二.監控指標數據分析

1.Vusers數

Loadrunner 系統設置的虛擬用戶數目。Vuser去實際調用事先制作的腳本文件中的應用。

每個Vuser產生響應的操作,所有的操作對服務器形成并發。

顏色 比例 度量 圖最小值 圖平均值 圖最大值 圖中間值 圖SD

1 Run 0.0 21.25 44 41 21.276

 在實際測試中,Vusers可以根據實際情況的需要,在測試過程中增加或者減少

2.最大并發用戶數:

顏色 比例 度量 最小值 平均值 最大值 SD

100 Apache CPU 使用情況(Apache):172.17.7.210 0.777 0.852 0.93 0.043

0.01 已發送 KB/秒(Apache):172.17.7.210 6 1430.371 2689.333 327.924

0.1 點擊次數/秒(Apache):172.17.7.210 0.333 114.352 533.667 40.201

應用系統在當前環境下能承受的最大并發用戶數。

在方案運行中,如果出現了大批用戶的業務操作失敗,或出現了服務器shutdown的情況,則說明在當前環境下,系統承受不了當前并發用戶的負載壓力,那么最大并發用戶數就是前一個沒有出現這種現象的并發用戶數。

從上圖可以看出:在測試運行到4個小時左右的時候,apache的點擊數/秒開始迅速增加!

3.業務操作響應時間:

使用“事務性能摘要”圖,可以確定在方案執行期間響應時間過長的事務。

顏色 比例 度量

1 最小值

1 平均值

1 最大值

分析事務的響應情況,要每次詳細分析,目前還只能觀察到響應時間過長的事務!

4.每秒點擊數

負載測試期間每秒內 Vuser 在 Web 服務器上點擊的次數。可根據點擊次數來估算 Vuser 生成的負載數。

顏色 比例 度量 圖最小值 平均值 圖最大值 圖中間值 圖SD

1 點擊次數 69.908 105.736 130.244 103.666 12.186

從圖中不難看出,在4小時的時候,點技數明顯增高。和apache的每秒點擊數增大的時間相吻合!

5.吞吐量

負載測試期間 Web 服務器上的吞吐量(字節)。吞吐量表示在任何指定秒內 Vuser 從服務器接收到的數據量。此圖可估計 Vuser 生成的負載量(服務器吞吐量)。

顏色 比例 度量 圖最小值 平均值 圖最大值 圖中間值 圖SD

1 Throughput 1257502.795 1375591.372 1525865.047 1372743.691 49130.473

同樣,從圖中可以看出,在4個小時的時候,web服務器的吞吐量開始增高。在圖中還可以看到吞吐量的走勢圖,從開始到進行到4個小時反彈之前呈降低的趨勢,這是因為系統在初期調用的資源都是直接來之服務器,運行一段時間后系統的部分資源來自緩存。

6.下載組件大小

每個頁面的組件大小,且包括組件的標頭的大小!

頁面組件大小的分析表格比較復雜,實際分析中可以通過loadrunner的報告分析工具來分析。頁面組件大小分析主要是找到頁面中比較龐大的組件,如果其影響到了頁面的下載速度,則要想辦法將其改小!

7.Apache資源

顯示APACHE web服務器上的資源摘要。前面已經提到過以并發點擊數為主。

顏色 比例 度量 最小值 平均值 最大值 SD

100 Apache CPU 使用情況(Apache):172.17.7.210 0.777 0.852 0.93 0.043

0.01 已發送 KB/秒(Apache):172.17.7.210 6 1430.371 2689.333 327.924

0.1 點擊次數/秒(Apache):172.17.7.210 0.333 114.352 533.667 40.201


三.服務器資源監控指標

  (目前通過top監察)

  內存:

  Linux資源監控中指標內存頁交換速率(Paging rate),如果該值偶爾走高,表明當時有線程競爭內存。如果持續很高,則內存可能是瓶頸。也可能是內存訪問命中率低。

  實際測試中,當并發點擊數出現突然劇增前后,內存的PR 值則居高25不下。說明目前測試的系統中內存存在瓶頸!

  內存資源成為系統性能的瓶頸的征兆:

  很高的換頁率(high pageout rate);

  進程進入不活動狀態;

  交換區所有磁盤的活動次數可高;

  可高的全局系統CPU利用率;

  內存不夠出錯(out of memory errors)

  處理器:

  Linux資源監控中指標CPU占用率持續超過80%(對該值的要求,根據具體應用和機器配置而要求不同,有資料表明95%),表明瓶頸是CPU。

  實際測試中,當并發點技數出現突然增加前后,cpu的占用率持續保持在86%以上!

  說明,目前系統用應用的cpu也是測試的瓶頸!

  CPU資源成為系統性能的瓶頸的征兆:

  很慢的響應時間(slow response time)

  CPU空閑時間為零(zero percent idle CPU)

  過高的用戶占用CPU時間(high percent user CPU)

  過高的系統占用CPU時間(high percent system CPU)

  長時間的有很長的運行進程隊列(large run queue size sustained over time)


  四.數據庫服務器

  數據庫服務器目前測試觀察,當web服務器點擊率增大時,觀察mysql數據庫的最大連接數,仍未超過系統設置的最大連接數。所以,暫時未發現數據庫的瓶頸!


  五.結論

  以上報告分析中的數據、圖標均來自同一次測試。是在平時測試中挑出的一次現象比較明顯,比較利于觀察的作為分析案例。

  根據以上綜合分析,當前測試環境下,當應用系統產生最大533.667的并發壓力。平均負載壓力114.352。根據分析,用戶在4個小時的時 候,并發數迅速增加前后的值在400左右!分析結果跟實際測試的硬件環境以及測試腳本有一定關系。同時,測試服務器的硬件配置和實際服務器的配置還有一定 的差距!



柴油發電機
發電機
柴油機
柴油發電機
13636374743(上海)
13291526067(嘉興)