㈠ web壓力測試 要測試哪些方面
web壓力測試通過產生真實壓力來發現問題需要關注以下方面:
1、對要測試的系統進行分析,明確需要對哪一塊做壓力測試。比如:淘寶網站雙十一期間,秒殺跟支付,此模式用戶操作中佔比比較大
再比如:游戲,登錄--開始戰斗--結束戰斗這種混合模式在用戶操作中佔比較大
那麼就可以針對這種佔比比較大的模式進行壓力測試
2、明確了要測試的點後,如何對這些測試點進行施壓呢?
第一種方式可以通過寫腳本產生壓力機器人對伺服器進行發包收包操作;
第二種方式就是藉助一些壓力測試工具如:JMeter或LoadRunner
3、如何對這些測試點進行正確的施壓呢?
那麼就需要用壓力測試工具或者其它方法來錄制腳本,模擬用戶的操作
4、對測試點該施加多大的壓力比較合適?該施加多少的數據才能找出系統的瓶頸?
那麼就需要明確壓力測試所限制的數量,即用戶並發量,這里分3種情況來明確:
1)根據上級的明確規定數量,來設定最確大值,然後根據情況往上或往下增減
2)上級未規定,由自己判斷,從1開始慢慢遞增。如:1,5,10,20等等
3)若做過壓力測試,則可以根據上次的壓力測試結果為基數進行測試
5、測試完之後,如何通過這些數據來定位性能問題呢?
雖然通過這些測試結果我們可以得到TPS(吞吐量),平均響應時間等這些數據,可判斷出伺服器是否存在問題,但卻不能定位問題。
㈡ 怎樣正確做 Web 應用的壓力測試
你好,一個完整的壓力測試需要關注三個方面:如何正確產生壓力、如何定位瓶頸、如何預估系統的承載能力
(1)
首先說一下如何產生壓力,產生壓力的方法有很多,通常可以寫腳本產生壓力機器人對伺服器進行發包和收包操作,也可以使用現有的工具(像jmeter、LoadRunner這些),所以說產生壓力其實並不難,難點在於產生的壓力是不是真實地反映了實際用戶的操作場景。舉個例子來說,對游戲來說單純的並發登陸場景在整個線上環境中的佔比可能並不大(新開服等特殊情況除外),相反「登陸-開始戰斗-結束戰斗」、不同用戶執行不同動作這種「混合模式」佔了更大的比重。所以如何從實際環境中提煉出具體的場景比重,並且把這種比重轉化成實際壓力是一個重要的關注點。
(2)
產生壓力之後,通常我們可以拿到TPS、響應時延等性能數據,那麼如何定位性能問題呢?TPS、響應時延只能告訴你伺服器是否存在問題,但不能幫助你定位問題。這些表面背後是整個後台處理邏輯綜合作用的結果,這時候可以先關注系統的CPU、內存、IO、網路,對比在tps、時延達到瓶頸時這些系統數據的情況,確定性能問題是系統哪一部分造成的,然後再回到代碼的邏輯中逐個優化這些點。
(3)
當伺服器的整體性能就可以相對穩定下來,這時候就需要對自己伺服器的承載能力有一個預估,通過產生真實壓力、對比系統數據,大致可以對單套系統的處理能力有個真實的評價,然後結合業務規模配置伺服器數量。
㈢ 如何對Web伺服器做壓力測試
apache壓力測試
ab -n 1000 -c 1000 http://test.com/index.php
㈣ 如何進行需要登錄的WEB系統的壓力測試
0
一般壓力測試工具都有錄制功能,也就是可以把你的操作「錄」下來再「重放」。你可以用錄制工具把登錄的動作錄下來,再進行壓力測試。
我用JMeter做過壓力測試,使用過badboy錄制過,很好用。如果你用的是loadrunner,也有相應的工具。不過很難找到這些工具
㈤ 關於Web系統的壓力測試
壓力測試沒有一個固定的數值,一般憑經驗或客戶要求。
壓力測試不達標一般是2種情況。
1.程序出現異常,大量數據的讀寫可能會出現代碼或資料庫的異常。根據異常的不同修改就是了。
2.效率低下。就是程序不會有問題就是執行時間太長了,這個需要改善就麻煩了,一般從SQL語句上節省資料庫訪問次數,再就是從邏輯上避免多重循環等方法解決。
-------------------------------------------
大公司的話一般設有專門的測試人員,現在這個領域還沒有專門的書籍或標准,基本都時憑借經驗。
㈥ 怎樣正確做 Web 應用的壓力測試
關於工具的選擇
其實工具並不是最重要的,那麼多的測試工具,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種工具都能自動生成圖形報告。這樣你就能判斷出伺服器的瓶頸在哪裡。是需要增加內存還是提高處理器性能,或者增加硬碟。
㈦ 怎樣測試伺服器壓力
下載並安裝WAST;
1.設置並行連接數;
2.設置持續時間;
3.其餘設置;
註:所有以上的選項可以根據自己的需要進行設置。
設置完成後就可以進行壓力測試。測試的步驟如下:
第一步,點擊工具欄上的「New Script」按鈕,在打開的面板中點擊「Nanual」按鈕創建一個新的測試項目。在打開的窗口中對它進行設置,在主選項中的Server中填寫要測試的伺服器的IP地址。這里我們填寫192.168.1.20。在下方選擇測試的Web連接方式,這里的方式Verb選擇get。Path選擇要測試的Web頁面路徑,這里填寫/Index.asp即動網的首頁文件,WAST可以設置更多的Path。
第二步,在「Settings」功能設置中將Stress Level (Threads)線程數設置為1000。然後點工具中的灰色三角按鈕即可進行測試。測試過程中我們可以從伺服器的任務管理器中看到CPU使用率已經達到100%,損耗率達到最大。在CMD窗口中使用命令netstat -an,可以看到客戶端的IP地址在伺服器上的80埠進行了非常多的連接,而且Web網站已經打不開了,提示過多用戶連接。