1. 怎樣正確做 Web 應用的壓力測試
一個完整的壓力測試需要關注三個方面:如何正確產生壓力、如何定位瓶頸、如何預估系統的承載能力
(1) 首先說一下如何產生壓力,產生壓力的方法有很多,通常可以寫腳本產生壓力機器人對伺服器進行發包和收包操作,也可以使用現有的工具(像jmeter、LoadRunner這些),所以說產生壓力其實並不難,難點在於產生的壓力是不是真實地反映了實際用戶的操作場景。舉個例子來說,對游戲來說單純的並發登陸場景在整個線上環境中的佔比可能並不大(新開服等特殊情況除外),相反「登陸-開始戰斗-結束戰斗」、不同用戶執行不同動作這種「混合模式」佔了更大的比重。所以如何從實際環境中提煉出具體的場景比重,並且把這種比重轉化成實際壓力是一個重要的關注點。
(2) 產生壓力之後,通常我們可以拿到TPS、響應時延等性能數據,那麼如何定位性能問題呢?TPS、響應時延只能告訴你伺服器是否存在問題,但不能幫助你定位問題。這些表面背後是整個後台處理邏輯綜合作用的結果,這時候可以先關注系統的CPU、內存、IO、網路,對比在tps、時延達到瓶頸時這些系統數據的情況,確定性能問題是系統哪一部分造成的,然後再回到代碼的邏輯中逐個優化這些點。
(3) 當伺服器的整體性能就可以相對穩定下來,這時候就需要對自己伺服器的承載能力有一個預估,通過產生真實壓力、對比系統數據,大致可以對單套系統的處理能力有個真實的評價,然後結合業務規模配置伺服器數量。
2. 需要用Jmeter對公司web網站伺服器進行壓力測試,需要找出使伺服器奔潰的並發用戶數
壓測呀,從100個開始壓,然後50個往上加,知道應用伺服器崩潰。崩潰很好判斷,就是伺服器請求發送失敗,多次請求連接超時。
3. 怎樣用jmeter測試webservice性能測試
性能測試是通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統的各項性能指標進行測試。負載測試和壓力測試都屬於性能測試,兩者可以結合進行。負載測試,通過測試系統在資源超負荷情況下的表現,以發現設計上的錯誤或驗證系統的負載能力。在這種測試中,將使測試對象承擔不同的工作量,以評測和評估測試對象在不同工作量條件下的性能行為,以及持續正常運行的能力。負載測試的目標是確定並確保系統在超出最大預期工作量的情況下仍能正常運行。壓力測試,也稱為強度測試、負載測試。壓力測試是模擬實際應用的軟硬體環境及用戶使用過程的系統負荷,長時間或超大負荷地運行測試軟體,來測試被測系統的性能、可靠性、穩定性等。
4. 如何用Jmeter做壓力測試
在「伺服器名稱或ip」設置127.0.0.1,埠號設置:8080,「方法」設置post,路徑設置網站登錄的地址,如「/exam/operatorAction」。
登錄需傳入用戶、密碼。在「同請求一起發送參數」列表中添加參數。參數值根據web應用設置。如login_user=0001;login_password=1;actFlag=login。
一般網站登錄後,在tomcat中生成了session,之後訪問其他頁面將無需再次登錄,前提是瀏覽器需支持cookie。在jmap中也同樣,如要繼續訪問其他頁面,還需做下面關鍵的設置。
Apache JMeter
是Apache組織開發的基於Java的壓力測試工具。用於對軟體做壓力測試,它最初被設計用於Web應用測試,但後來擴展到其他測試領域。 它可以用於測試靜態和動態資源,例如靜態文件、Java小服務程序、CGI 腳本、Java 對象、資料庫、FTP伺服器, 等等。JMeter 可以用於對伺服器、網路或對象模擬巨大的負載,來自不同壓力類別下測試它們的強度和分析整體性能。
5. web壓力測試 要測試哪些方面
web壓力測試通過產生真實壓力來發現問題需要關注以下方面:
1、對要測試的系統進行分析,明確需要對哪一塊做壓力測試。比如:淘寶網站雙十一期間,秒殺跟支付,此模式用戶操作中佔比比較大
再比如:游戲,登錄--開始戰斗--結束戰斗這種混合模式在用戶操作中佔比較大
那麼就可以針對這種佔比比較大的模式進行壓力測試
2、明確了要測試的點後,如何對這些測試點進行施壓呢?
第一種方式可以通過寫腳本產生壓力機器人對伺服器進行發包收包操作;
第二種方式就是藉助一些壓力測試工具如:JMeter或LoadRunner
3、如何對這些測試點進行正確的施壓呢?
那麼就需要用壓力測試工具或者其它方法來錄制腳本,模擬用戶的操作
4、對測試點該施加多大的壓力比較合適?該施加多少的數據才能找出系統的瓶頸?
那麼就需要明確壓力測試所限制的數量,即用戶並發量,這里分3種情況來明確:
1)根據上級的明確規定數量,來設定最確大值,然後根據情況往上或往下增減
2)上級未規定,由自己判斷,從1開始慢慢遞增。如:1,5,10,20等等
3)若做過壓力測試,則可以根據上次的壓力測試結果為基數進行測試
5、測試完之後,如何通過這些數據來定位性能問題呢?
雖然通過這些測試結果我們可以得到TPS(吞吐量),平均響應時間等這些數據,可判斷出伺服器是否存在問題,但卻不能定位問題。
6. 如何用jmeter對websock和protobuf進行壓力測試
軟體壓力測試是一種基本的質量保證行為,它是每個重要軟體測試工作的一部分。軟體壓力測試的基本思路很簡單:不是在常規條件下運行手動或自動測試,而是在計算機數量較少或系統資源匱乏的條件下運行測試。通常要進行軟體壓力測試的資源包括內部內存、CPU 可用性、磁碟空間和網路帶寬。