怎樣正確做 web 應用的壓力測試

2022-02-18 15:00:40 字數 4881 閱讀 9424

1樓:青蓮網路雲服務

關於工具的選擇

其實工具並不是最重要的,那麼多的測試工具,hp的是loadrunner、ibm的是rational performance tester、apache有jmeter(免費開源)、還有borland的silkperformer,這些都是可以的。有人提到了apache的ab,ab不是說不行的,但既然問題是"正確的壓力測試",那麼還是選擇一個那些容易支撐起復雜業務的效能場景的工具吧。

什麼樣的工具能夠在指令碼中讓你模擬業務場景中一個使用者的行為?什麼樣的工具能夠在場景中讓你模擬業務場景中一群使用者的行為?什麼樣的工具能夠讓你模擬使用者所處於的使用環境?

什麼樣的工具能夠讓你比較方便、快捷的通過它的效能圖表瞭解web應用的大致效能表現?答案肯定不會是那些對某個url不斷施壓的那些工具。

關於場景的設計過程

過半數的效能測試人員並不瞭解自己執行的效能測試場景代表的是使用者生產環境中什麼樣的場景。事實很難正確的說清楚「效能測試」、「負載測試」、「壓力測試」、「可靠性測試」、「配置測試」、「疲勞測試」這些測試的概念。

任何一個場景的設計都必須首先明確一些相關的效能指標,這些指標的閾值一旦被超出,那麼場景一般是不必繼續執行的。

關於效能指標我們可以幾個角度來看:

首先是使用者視角的效能指標,一般來說這些指標包括了測試事務的平均響應時間、最大響應時間、90%事務的響應時間、事務響應時間標準差,我們通過著一些指標來判斷使用者實際獲得的效能體驗如何。然後是運維視角指標,點選率、吞吐量、處理能力、各種硬體資源佔用、運維通過這些指標來了解目前應用的處理能力,通過業務增長了解何時需要進行擴容,還有開發視角的指標,鎖競爭。具體要考慮的視角由專案干係人、關鍵角色定義。

採用的指標確定好以後,再開始為這些指標定義閾值,例如事務的響應時間,也許使用者認為請求在2秒以內得到響應是滿意的,5秒以內響應是一般,超出8秒則會感覺太慢,超出10秒會超出了可容忍的上限,那麼對於這一項指標來說,它的閾值可以是:

<2秒響應,優秀

<5秒響應,良好

<8秒響應,較差

>10秒響應,超出可容忍上線

關於使用者效能體驗的指標一般會劃分為4個級別。硬體指標至少也會劃分2個級別。

系統在任何時候都應該為使用者提供優秀的響應體驗嗎?並不總是,在2倍的峰值負載中,我認為良好、甚至較差的響應體驗也是可接受的。那是不是說在正常的峰值負載中,各項指標表現不在優秀範圍內就是不理想呢?

也不一定,要看正常的峰值負載持續時間長短是否合理。

場景的設計不合理最終將可能導致我們面對一堆效能缺陷無法確定處理的優先順序。

場景設計中,重點考慮的問題:

指令碼測試資料符合典型使用者的資料差異(測試帳號差異、運算元據差異、提交表單引數差異等)

指令碼操作次序符合典型使用者的操作差異(思考時間、業務間間隔等);

指令碼執行符合典型使用者的使用環境(瀏覽器快取模擬、頻寬模擬等);

測試環境的業務基礎資料必須合理(0年到n年的基礎資料);

測試場景所產生的負載必須合理(代表峰值的負載?代表1.5倍峰值的負載?代表**活動的負載?)。

一般都是使用工具,可以模擬多使用者 同時/非同步地進行比較好的工具,要錢的有loadrunner ,不要錢的有jmeter 。這2種工具都能自動生成圖形報告。這樣你就能判斷出伺服器的瓶頸在**。

是需要增加記憶體還是提高處理器效能,或者增加硬碟。

2樓:匿名使用者

很難,這不是回答測試工具用哪個好,或者需要掌握哪一些知識點,或者需要什麼樣的理論基礎,又或者需要了解系統具體業務的問題,甚至沒有多少案例可以借鑑。

關於工具的選擇

不少答案都提到了測試工具,但其實工具並不是最重要的,那麼多的測試工具,hp的是loadrunner、ibm的是rational

performance

tester、apache有jmeter(免費開源)、還有borland的silkperformer,這些都是可以的。有人提到了apache的

ab,ab不是說不行的,但既然問題是"正確的壓力測試",那麼還是選擇一個那些容易支撐起復雜業務的效能場景的工具吧。

什麼樣的工具能

夠在指令碼中讓你模擬業務場景中一個使用者的行為?什麼樣的工具能夠在場景中讓你模擬業務場景中一群使用者的行為?什麼樣的工具能夠讓你模擬使用者所處於的使用環

境?什麼樣的工具能夠讓你比較方便、快捷的通過它的效能圖表瞭解web應用的大致效能表現?答案肯定不會是那些對某個url不斷施壓的那些工具。

關於場景的設計過程

我所瞭解的情況來看,過半數的效能測試人員並不瞭解自己執行的效能測試場景代表的是使用者生產環境中什麼樣的場景。事實上對於我來說,我也很難正確的說清楚「效能測試」、「負載測試」、「壓力測試」、「可靠性測試」、「配置測試」、「疲勞測試」這些測試的概念。

但我知道,任何一個場景的設計都必須首先明確一些相關的效能指標,這些指標的閾值一旦被超出,那麼場景一般是不必繼續執行的。

關於效能指標我們可以幾個角度來看:

首先是使用者視角的效能指標,一般來說這些指標包括了測試事務的平均響應時間、最大響應時間、90%事務的響應時間、事務響應時間標準差,我們通過著一些指標

來判斷使用者實際獲得的效能體驗如何。然後是運維視角指標,點選率、吞吐量、處理能力、各種硬體資源佔用、運維通過這些指標來了解目前應用的處理能力,通過

業務增長了解何時需要進行擴容,還有開發視角的指標,鎖競爭。具體要考慮的視角由專案干係人、關鍵角色定義。

採用的指標確定好以後,再開始為這些指標定義閾值,例如事務的響應時間,也許使用者認為請求在2秒以內得到響應是滿意的,5秒以內響應是一般,超出8秒則會感覺太慢,超出10秒會超出了可容忍的上限,那麼對於這一項指標來說,它的閾值可以是:

<2秒響應,優秀

<5秒響應,良好

<8秒響應,較差

>10秒響應,超出可容忍上線

關於使用者效能體驗的指標一般會劃分為4個級別。硬體指標至少也會劃分2個級別。

系統在任何時候都應該為使用者提供優秀的響應體驗嗎?並不總是,在2倍的峰值負載中,我認為良好、甚至較差的響應體驗也是可接受的。那是不是說在正常的峰值負載中,各項指標表現不在優秀範圍內就是不理想呢?

也不一定,要看正常的峰值負載持續時間長短是否合理。

場景的設計不合理最終將可能導致我們面對一堆效能缺陷無法確定處理的優先順序。

場景設計中,重點考慮的問題:

指令碼測試資料符合典型使用者的資料差異(測試賬號差異、運算元據差異、提交表單引數差異等)

指令碼操作次序符合典型使用者的操作差異(思考時間、業務間間隔等)

指令碼執行符合典型使用者的使用環境(瀏覽器快取模擬、頻寬模擬等)

測試環境的業務基礎資料必須合理(0年到n年的基礎資料)

測試場景所產生的負載必須合理(代表峰值的負載?代表1.5倍峰值的負載?代表**活動的負載?)

3樓:

1. "簡單"的應用,可以用apache自帶的工具ab測試. 也可以試試http_load;

2. 一般給一個大概的效能評測報告,評估需要多少伺服器. 多點餘量無妨;

3. 注意記錄好各種資料. 在什麼時候需要增加伺服器更多的是考驗運維的能力.

如何正確的做web端的壓力測試

4樓:安迪_久別

1、對要測試的系統進行分析,明確需要對哪一塊做壓力測試。比如:****雙十一期間,秒殺跟支付,此模式使用者操作中佔比比較大

再比如:遊戲,登入--開始戰鬥--結束戰鬥這種混合模式在使用者操作中佔比較大

那麼就可以針對這種佔比比較大的模式進行壓力測試2、明確了要測試的點後,如何對這些測試點進行施壓呢?

第一種方式可以通過寫指令碼產生壓力機器人對伺服器進行發包收包操作;

第二種方式就是藉助一些壓力測試工具如:j

web壓力測試 要測試哪些方面

5樓:偉銘網路營銷

web壓力測試通過產生真實壓力來發現問題需要關注以下方面:

1、對要測試的系統進行分析,明確需要對哪一塊做壓力測試。比如:****雙十一期間,秒殺跟支付,此模式使用者操作中佔比比較大

再比如:遊戲,登入--開始戰鬥--結束戰鬥這種混合模式在使用者操作中佔比較大

那麼就可以針對這種佔比比較大的模式進行壓力測試

2、明確了要測試的點後,如何對這些測試點進行施壓呢?

第一種方式可以通過寫指令碼產生壓力機器人對伺服器進行發包收包操作;

第二種方式就是藉助一些壓力測試工具如:jmeter或loadrunner

3、如何對這些測試點進行正確的施壓呢?

那麼就需要用壓力測試工具或者其它方法來錄製指令碼,模擬使用者的操作

4、對測試點該施加多大的壓力比較合適?該施加多少的資料才能找出系統的瓶頸?

那麼就需要明確壓力測試所限制的數量,即使用者併發量,這裡分3種情況來明確:

1)根據上級的明確規定數量,來設定最確大值,然後根據情況往上或往下增減

2)上級未規定,由自己判斷,從1開始慢慢遞增。如:1,5,10,20等等

3)若做過壓力測試,則可以根據上次的壓力測試結果為基數進行測試

5、測試完之後,如何通過這些資料來定位效能問題呢?

雖然通過這些測試結果我們可以得到tps(吞吐量),平均響應時間等這些資料,可判斷出伺服器是否存在問題,但卻不能定位問題。

6樓:

be swift to hear

7樓:匿名使用者

j**a寫的web程式 怎麼做壓力測試呀,就是測試併發率(同一時間最大支援多少使用者請求呢)?

8樓:星空翊

我用過apache jmeter,可以錄製指令碼,並且多執行緒併發訪問,網上有教程

9樓:

要不遞迴試試?或者執行緒。。。

如何seo推廣才是正確的方法,怎樣做seo推廣才是最有效的呢?

現在很多公司都有在做seo推廣,我們作為專業的seo推廣優化公司,分享幾點如何seo推廣的方法,可以參考一下。對於如何seo推廣的問題,以下有4點方法 1 提供優質的高質量內容 優質的高質量內容不僅對新 有效,對於長期優化的 也是不可缺少的一部分,它可以幫助企業不斷吸引使用者訪問,還可以吸引搜尋引擎...

怎樣用微控制器做測試碼盤的程序呢,怎樣用微控制器做一個測試碼盤的程式呢?

碼盤一般不直接拿來使用,它輸出是的兩列正交的方波訊號,方波數量表示位移或角度。兩列組合則可以判定方向。先用硬體電路處理一下,得到的是原使訊號4倍頻的兩組訊號,一組是正方向運動時有訊號,另一組是反方向時有訊號。後面可以用計數器,也可以不用計數器直接上微控制器。如果訊號頻率較高,微控制器處理怕丟波的話就...

父母怎樣做,才能讓孩子掌握正確的學習方法

俗話說 書山有路勤為徑,學海無涯苦作舟 我們小時候,父母很喜歡用這句話來鼓勵我們勤奮學習,而現在,很多父母也喜歡用這句話來教育孩子。不過,隨著社會的發展,現在,孩子單靠 勤奮 不一定可以獲得好的成績,也不一定能夠成才了。父母想要孩子在激烈的競爭中取勝,單單靠 勤學苦練 肯定是不夠的,父母還得想辦法幫...