㈠ 哪款網站壓力測試工具值得推薦
在當今社會,越來越多的人擁有不同的壓力,有的人有學習的壓力,有的人有工作的壓力,有的人有生活的壓力……每個人都在這樣的壓力下,不得不前行。
那麼,究竟什麼是壓力呢?壓力是現代人擁有的最普遍的一種心理情緒。而在一定程度上,壓力會影響人的健康。所以這時候,我們需要對壓力進行測試。
所以,據此選一個好的壓力測試網站很重要。
㈡ 怎麼在windows上使用ab壓力測試工具
Apache伺服器自帶了ab壓力測試工具,可以用來測試網站性能,使用簡單方便。工具/原料
Apache
方法/步驟
打開Apache伺服器的安裝路徑,在bin目錄中有一個ab.exe的可執行程序,就是我們要介紹的壓力測試工具。
在Windows系統的命令行下,進入ab.exe程序所在目錄,執行ab.exe程序。注意直接雙擊無法正確運行。
執行ab命令成功後,可以看到如圖提示。該幫助很清楚詳細的介紹了ab的用法以及各個參數的含義。
㈢ 怎麼在windows系統中安裝Jmeter壓力測試工具
Apache JMeter是Apache組織開發的基於Java的壓力測試工具。用於對軟體做壓力測試,它最初被設計用於Web應用測試但後來擴展到其他測試領域。
它可以用於測試靜態和動態資源例如靜態文件、Java 小服務程序、CGI 腳本、Java 對象、資料庫, FTP 伺服器, 等等。JMeter
可以用於對伺服器、網路或對象模擬巨大的負載,來自不同壓力類別下測試它們的強度和分析整體性能。
JMeter的作用
1.能夠對HTTP和FTP伺服器進行壓力和性能測試, 也可以對任何資料庫進行同樣的測試(通過JDBC)。
2.完全的可移植性和100% 純java。
3.完全 Swing 和輕量組件支持(預編譯的JAR使用 javax.swing.*)包。
4.完全多線程 框架允許通過多個線程並發取樣和 通過單獨的線程組對不同的功能同時取樣。
5.精心的GUI設計允許快速操作和更精確的計時。
6.緩存和離線分析/回放測試結果。
一、Jmeter安裝總結
1、配置Java環境變數時需要注意設置的路徑需要和JDK安裝的路徑一樣
2、配置Java環境變數時需要注意JDK的版本號
3、配置環境變數時多個變數以分號隔開,但是確保是英文輸入法的分號
二、搭建測試環境總結
1、檢測負載機是否可以被調用,檢測負載機的ip是否能被ping通
2、當負載機的ip不能ping通時,有可能是防火牆攔截了,可以檢測防火牆是否是啟用狀態,如果是暫時設置禁用防火牆
3、測試的數據調用文件應該放在負載機上,並且在控制中心設置正確的數據訪問路徑
Jmeter測試工具安裝步驟:
1、安裝Jmeter
下載Jmeter工具包 並把工具包放到C盤下
http://jmeter.apache.org/download_jmeter.cgi
2、安裝JDK
下載Java的JDK並安裝,一般會安裝在C:\Program Files\Java目錄下
http://java.sun.com/javase/downloads/index.jsp
3、Java環境變數配置
桌面上 右鍵選中計算機--->屬性--->高級系統設置--->環境變數設置
在「系統變數」--->「新建」, 在變數名中輸入:CLASSPATH,變數值中輸入:C:\Program
Files\Java\jdk1.6.0_10\lib\dt.JAR; C:\Program
Files\Java\jdk1.6.0_10\lib\TOOLS.JAR; C:\Program
Files\Java\jdk1.6.0_10\BIN;再按「新建」,在變數名中輸入:JAVA_HOME,變數中輸入:C:\Program
Files\Java\jdk1.6.0_10;修改PATH變數,添加%JAVA_HOME%/bin;然後確定即可
4、Jmeter環境變數配置
桌面上 右鍵選中計算機--->屬性--->高級系統設置--->環境變數設置
在「系統變數」--->「新建」, 在變數名中輸入:JMETER_HOME,變數值中輸入:C:\jakarta-jmeter-2.3.4
,再修改CLASSPATH變數,變數值中添加%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%
JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-1.2.jar; 然後確定即可
意義
1、Label: 定義的HTTP請求名稱
2、Samples: 表示這次測試中一共發出了多少個請求
3、Average: 訪問頁面的平均響應時間
4、Min: 訪問頁面的最小響應時間
5、Max: 訪問頁面的最大響應時間
6、Error%: 錯誤的請求的數量/請求的總數
7、Throughput:每秒完成的請求數
8、KB/Sec: 每秒從伺服器端接收到的數據量
㈣ Web測試的主要內容和測試方法有哪些
測試分類:
1、界面測試
1)給用戶的整體感:舒適感;憑感覺能找到想要找的信息;設計風格是否一致
2)各控制項的功能
2、功能測試
1)刪除/增加某一項:是否對其他項造成影響,這些影響是否都正確
2)列表默認值檢查
3)檢查按鈕功能是否正確:新建、編輯、刪除、關閉、返回、保存、導入、上一頁、下一頁、頁面跳轉、重置(常見錯誤)
4)字元串長度檢查:超出長度
5)字元類型檢查
6)標點符號檢查:空格、各種引號、Enter鍵
7)特殊字元:常見%、「、」
8)中文字元:是否亂碼
9)檢查信息完整:查看信息,查看所填信息是否完整更新;更新信息,更新信息與添加信息是否一致
10)信息重復:需唯一信息處,比如重復的名字或ID、重名是否區分大小寫、加空格
11)檢查刪除功能:不選擇任何信息,按Delete,看如何處理;選擇一個或多個進行刪除;多頁選、翻頁選刪除;刪除是否有提示
12)檢查添加和修改是否一致:添加必填項,修改也該必填;添加為什麼類型,修改也該什麼類型
13)檢查修改重名:修改時把不能重名的項改為已存在的內容
14)重復提交表單:一條已經成功提交的記錄,返回後再提交
15)檢查多次使用返回鍵:返回到原來頁面,重復多次
16)搜索檢查:存在或不存在內容,看搜索結果是否正確;多個搜索條件,同時輸入合理和不合理條件;特殊字元
17)輸入信息的位置
18)上傳下載文件檢查:功能是否實現,
上傳:上傳文件是否能打開、格式要求、系統是否有解釋信息、將不能上傳的文件格式修改後綴為可上傳的文件格式;
下載:下載是否能打開、保存、格式要求
19)必填項檢查:必填項未填寫;是否有提示,如加*;對必填項提示返回後,焦點是否自動定位到必填項
20)快捷鍵檢查:是否支持快捷鍵Ctrl+C、Ctrl+V、backspace;對不允許做輸入的欄位(如:下拉選項),對快捷方式是否也做了限制
21)Enter鍵檢查:輸入結束後按Enter鍵,系統如何處理
22)刷新鍵檢查:按瀏覽器刷新鍵如何處理
23)回退鍵檢查:按瀏覽器回退鍵如何處理
24)空格檢查:輸入項輸入一個或多個空格
25)輸入法半形全形檢查:比如,浮點型,輸入全形小數點「。」或「. 」,如4. 5;全形空格
26)密碼檢查:輸入加密方式的極限字元;密碼盡可能長
27)用戶檢查:不同種類管理員用戶的不同許可權,是否可以互相刪除、管理、編輯;一般用戶的許可權;注銷功能,老用戶注銷再注冊,是否為新用戶
28)系統數據檢查:數據隨業務過程、狀態的變化保持正確,不能因為某個過程出現垃圾數據,也不能因為某個過程而丟失數據。
29)系統可恢復性檢查:以各種方式把系統搞癱,測試系統是否可以迅速恢復
30)確認提示檢查:系統更新、刪除操作:是否有提示、取消操作;提示是否准確;事前、事後提示
31)數據注入檢查:對資料庫注入,特殊字元,對SQL語句進行破壞
32)時間日期檢查:時間、日期、時間驗證:日期范圍是否符合實際業務;對於不符合實際業務的日期是否有限制
33)多瀏覽器驗證
3、性能測試
1)壓力測試:實際破壞一個Web應用系統,測試系統的反應,測試系統的限制和故障恢復能力
2)負載測試:在某一負載級別上的性能,包括某個時刻同時訪問Web的用戶數量、在線數據處理的數量
3)強度測試:測試對象在性能行為異常或極端條件下(如資源減少或用戶過多)的可接受性,以此驗證系統軟硬體水平
4)資料庫容量測試:通過存儲過程往資料庫表中插入一定數量的數據,看是否能及時顯示
5)預期指標的性能測試:在需求分析和設計階段會提出一些性能指標,對於預先確定的性能要求要首先進行測試
6)獨立業務性能測試:對核心業務模塊做用戶並發測試,包括同一時刻進行完全一樣的操作、同一時刻使用完全一樣的功能
7)組合業務性能測試:模擬多用戶的不同操作,最接近實際用戶使用情況,按用戶實際的實際使用人數比例來模擬各個模塊的組合並發情況
8)疲勞強度性能測試:系統穩定運行情況下,以一定負載壓力來長時間運行系統的測試
9)網路性能測試:准確展示帶寬、延遲、負載、埠的變化是如何影響用戶的相應時間的
10)大數據量性能測試:實時大數據量,模擬用戶工作時的實時大數據量;極限狀態下的測試,系統使用一段時間,積累一段數據量時能否正常運行,以及對前面兩種進行結合
11)伺服器性能測試:在進行用戶並發性能測試、疲勞強度、大數據量性能測試時,完成對伺服器性能的監控,並進行評估
12)一些特殊的測試:配置測試、內存泄漏的一些特殊測試
4、可用性測試(介面測試)
1)整體界面測試
2)多媒體測試
3)導航測試
5、客戶端兼容性
平台測試:windows;unix;macintosh;linux
瀏覽器測試:不同廠商的瀏覽器對Java、Javascript、ActiveX、plug-ins或不同的HTML的規格
不同的支持;框架和層次結構在不同瀏覽器也不同的顯示
6、安全性
安全性測試要求:
1)能夠對密碼試探工具進行防範
2)能夠防範對Cookie攻擊的常用手段
3)敏感數據保證不用明文傳輸
4)能防範通過文件名猜測和查看html文件內容獲取重要信息
5)能保證在網站收到工具後在給定時間內恢復,重要數據丟失不超過1小時
web的性能測試工具:
隨著Web2.0技術的迅速發展,許多公司都開發了一些基於Web的網站服務,通常在設計開發Web應用系統的時候很難模擬出大量用戶同時訪問系統的實際情況。
因此,當Web網站遇到訪問高峰時,容易發生伺服器響應速度變慢甚至服務中斷。
為了避免這種情況,需要一種能夠真實模擬大量用戶訪問Web應用系統的性能測試工具進行壓力測試,來測試靜態HTML頁面的響應時間,甚至測試動態網頁(包括ASP、PHP、JSP等)的響應時間,為伺服器的性能優化和調整提供數據依據。
1、企業級自動化測試工具WinRunner
MercuryInteractive公司的WinRunner是一種企業級的功能測試工具,用於檢測應用程序是否能夠達到預期的功能及正常運行。
2、工業標准級負載測試工具Loadrunner
LoadRunner是一種預測系統行為和性能的負載測試工具
3、全球測試管理系統testdirector
TestDirector是業界第一個基於Web的測試管理系統,它可以在您公司內部或外部進行全球范圍內測試的管理。
4、功能測試工具RationalRobot
IBMRationalRobot是業界最頂尖的功能測試工具,它甚至可以在測試人員學習高級腳本技術之前幫助其進行成功的測試。
它集成在測試人員的桌面IBMRationalTestManager上,在這里測試人員可以計劃、組織、執行、管理和報告所有測試活動,包括手動測試報告。
這種測試和管理的雙重功能是自動化測試的理想開始。
5、單元測試工具xUnit系列
目前的最流行的單元測試工具是xUnit系列框架,常用的根據語言不同分為JUnit(java),CppUnit(C++),DUnit(Delphi),NUnit(.net),PhpUnit(Php)等等。
該測試框架的第一個和最傑出的應用就是由ErichGamma(《設計模式》的作者)和KentBeck(XP(ExtremeProgramming)的創始人)提供的開放源代碼的JUnit.
6、功能測試工具SilkTest
BorlandSilkTest2006屬於軟體功能測試工具,是Borland公司所提出軟體質量管理解決方案的套件之一。
這個工具採用精靈設定與自動化執行測試,無論是程序設計新手或資深的專家都能快速建立功能測試,並分析功能錯誤。
7、性能測試工具WAS
是由微軟的網站測試人員所開發,專門用來進行實際網站壓力測試的一套工具。
透過這套功能強大的壓力測試工具,您可以使用少量的Client端計算機模擬大量用戶上線對網站服務所可能造成的影響。
8、自動化白盒測試工具Jtest
Jtest是parasoft公司推出的一款針對java語言的自動化白盒測試工具,它通過自動實現java的單元測試和代碼標准校驗,來提高代碼的可靠性。
parasoft同時出品的還有C++test,是一款C/C++白盒測試工具。
9、功能和性能測試的工具JMeter
JMeter是Apache組織的開放源代碼項目,它是功能和性能測試的工具,100%的用java實現。
10、性能測試和分析工具WEBLOAD
webload是RadView公司推出的一個性能測試和分析工具,它讓web應用程序開發者自動執行壓力測試;webload通過模擬真實用戶的操作,生成壓力負載來測試web的性能。
(4)windowsweb壓力測試工具擴展閱讀:
漏洞測試
企業網站做的越來越復雜、功能越來越強。不過這些都不是憑空而來的,是通過代碼堆積起來的。如果這個代碼只供企業內部使用,那麼不會帶來多大的安全隱患。
但是如果放在互聯網上使用的話,則這些為實現特定功能的代碼就有可能成為攻擊者的目標。
天眼舉一個簡單的例子。在網頁中可以嵌入SQL代碼。而攻擊者就可以利用這些SQL代碼來發動攻擊,來獲取管理員的密碼等等破壞性的動作。
有時候訪問某些網站還需要有某些特定的控制項。用戶在安裝這些控制項時,其實就有可能在安裝一個木馬(這可能訪問者與被訪問者都沒有意識到)。
為此在為網站某個特定功能編寫代碼時,就要主動出擊。從編碼的設計到編寫、到測試,都需要認識到是否存在著安全的漏洞。
天眼在日常過程中,在這方面對於員工提出了很高的要求。各個員工必須對自己所開發的功能負責。
已知的病毒、木馬不能夠在所開發的插件中有機可乘。通過這層層把關,就可以提高代碼編寫的安全性。
㈤ windows10能用jmeter嗎
?Apache JMeter是Apache組織開發的基於Java的壓力測試工具。用於對軟體做壓力測試,它最初被設計用於Web應用測試但後來擴展到其他測試領域。 怎麼在windows系統中安裝Jmeter壓力測試工具?下面一起來學習一下吧?Apache JMeter是Apache組織開發的基於Java的壓力測試工具。用於對軟體做壓力測試,它最初被設計用於Web應用測試但後來擴展到其他測試領域。 它可以用於測試靜態和動態資源例如靜態文件、Java 小服務程序、CGI 腳本、Java 對象、資料庫, FTP 伺服器, 等等。JMeter 可以用於對伺服器、網路或對象模擬巨大的負載,來自不同壓力類別下測試它們的強度和分析整體性能。
Jmeter
JMeter的作用
1.能夠對HTTP和FTP伺服器進行壓力和性能測試, 也可以對任何資料庫進行同樣的測試(通過JDBC)。
2.完全的可移植性和100% 純java。
3.完全 Swing 和輕量組件支持(預編譯的JAR使用 javax.swing.*)包。
4.完全多線程 框架允許通過多個線程並發取樣和 通過單獨的線程組對不同的功能同時取樣。
5.精心的GUI設計允許快速操作和更精確的計時。
6.緩存和離線分析/回放測試結果。
㈥ 軟體測試工具有哪些
目前由於軟體測試工作在軟體的生產過程中越來越重要,很多軟體測試工具應運而生,這里介紹一下目前最流行的一些軟體測試工具,一個十個,介紹如下:
一、企業級自動化測試工具WinRunner
這款軟體是MercuryInteractive公司的。
WinRunner是一種企業級的功能測試工具,用於檢測應用程序是否能夠達到預期的功能及正常運行。通過自動錄制、檢測和回放用戶的應用操作,WinRunner能夠有效地幫助測試人員對復雜的企業級應用的不同發布版進行測試,提高測試人員的工作效率和質量,確保跨平台的、復雜的企業級應用無故障發布及長期穩定運行。
二、工業標准級負載測試工具Loadrunner
這款軟體是惠普公司開發的。
LoadRunner是一種預測系統行為和性能的負載測試工具。通過以模擬上千萬用戶實施並發負載及實時性能監測的方式來確認和查找問題,LoadRunner能夠對整個企業架構進行測試。通過使用LoadRunner,企業能最大限度地縮短測試時間,優化性能和加速應用系統的發布周期。
三、功能測試工具RationalRobot
IBMRationalRobot是業界最頂尖的功能測試工具,它甚至可以在測試人員學習高級腳本技術之前幫助其進行成功的測試。它集成在測試人員的桌面IBMRationalTestManager上,在這里測試人員可以計劃、組織、執行、管理和報告所有測試活動,包括手動測試報告。這種測試和管理的雙重功能是自動化測試的理想開始。
四、功能測試工具SilkTest
BorlandSilkTest2006屬於軟體功能測試工具,是Borland公司所提出軟體質量管理解決方案的套件之一。這個工具採用精靈設定與自動化執行測試,無論是程序設計新手或資深的專家都能快速建立功能測試,並分析功能錯誤。
五、功能和性能測試的工具JMeter
JMeter是Apache組織的開放源代碼項目,它是功能和性能測試的工具,100%的用java實現。
六、單元測試工具xUnit系列
目前的最流行的單元測試工具是xUnit系列框架,常用的根據語言不同分為JUnit(java),CppUnit(C++),DUnit(Delphi),NUnit(.net),PhpUnit(Php)等等。該測試框架的第一個和最傑出的應用就是由ErichGamma(《設計模式》的作者)和KentBeck(XP(ExtremeProgramming)的創始人)提供的開放源代碼的JUnit.
七、全球測試管理系統testdirector
TestDirector是業界第一個基於Web的測試管理系統,它可以在您公司內部或外部進行全球范圍內測試的管理。通過在一個整體的應用系統中集成了測試管理的各個部分,包括需求管理,測試計劃,測試執行以及錯誤跟蹤等功能,TestDirector極大地加速了測試過程。
八、自動化白盒測試工具Jtest
Jtest是parasoft公司推出的一款針對java語言的自動化白盒測試工具,它通過自動實現java的單元測試和代碼標准校驗,來提高代碼的可靠性。parasoft同時出品的還有C++test,是一款C/C++白盒測試工具。
九、性能測試工具WAS
是由微軟的網站測試人員所開發,專門用來進行實際網站壓力測試的一套工具。透過這套功能強大的壓力測試工具,您可以使用少量的Client端計算機模擬大量用戶上線對網站服務所可能造成的影響。
十、性能測試和分析工具WEBLODE
webload是RadView公司推出的一個性能測試和分析工具,它讓web應用程序開發者自動執行壓力測試;webload通過模擬真實用戶的操作,生成壓力負載來測試web的性能。
㈦ web壓力測試 要測試哪些方面
web壓力測試通過產生真實壓力來發現問題需要關注以下方面:
1、對要測試的系統進行分析,明確需要對哪一塊做壓力測試。比如:淘寶網站雙十一期間,秒殺跟支付,此模式用戶操作中佔比比較大
再比如:游戲,登錄--開始戰斗--結束戰斗這種混合模式在用戶操作中佔比較大
那麼就可以針對這種佔比比較大的模式進行壓力測試
2、明確了要測試的點後,如何對這些測試點進行施壓呢?
第一種方式可以通過寫腳本產生壓力機器人對伺服器進行發包收包操作;
第二種方式就是藉助一些壓力測試工具如:JMeter或LoadRunner
3、如何對這些測試點進行正確的施壓呢?
那麼就需要用壓力測試工具或者其它方法來錄制腳本,模擬用戶的操作
4、對測試點該施加多大的壓力比較合適?該施加多少的數據才能找出系統的瓶頸?
那麼就需要明確壓力測試所限制的數量,即用戶並發量,這里分3種情況來明確:
1)根據上級的明確規定數量,來設定最確大值,然後根據情況往上或往下增減
2)上級未規定,由自己判斷,從1開始慢慢遞增。如:1,5,10,20等等
3)若做過壓力測試,則可以根據上次的壓力測試結果為基數進行測試
5、測試完之後,如何通過這些數據來定位性能問題呢?
雖然通過這些測試結果我們可以得到TPS(吞吐量),平均響應時間等這些數據,可判斷出伺服器是否存在問題,但卻不能定位問題。
㈧ Web自動化測試有什麼常用的工具
一、單元測試/測試運行器
1、Jest
知名的 Java 單元測試工具,由 Facebook 開源,開箱即用。它在最基礎層面被設計用於快速、簡單地編寫地道的 Java 測試,能自動模擬 require() 返回的 CommonJS 模塊,並提供了包括內置的測試環境 Dom API 支持、合理的默認值、預處理代碼和默認執行並行測試在內的特性。通過在並行進程中同時運行測試,讓測試更快地結束。
2、AVA
號稱「未來的測試運行器」,利用 Java 在 Node.js 里使得 IO 可以並行的優點,讓你的測試可以並發執行,這對於 IO 繁重的測試特別有用。另外,測試文件可以在不同的進程里並行運行,讓每一個測試文件可以獲得更好的性能和獨立的環境。測試並發執行強制你寫原子測試,意味著測試不需要依賴全局狀態或者其他測試的狀態。
3、Mocha
一個功能豐富的測試框架,用於 Node.js 和瀏覽器上的 Java 應用測試,使非同步測試變得簡單而有趣。它可以持續運行測試,支持靈活又准確的報告,當映射到未捕獲異常時轉到正確的測試示例。
3、Mocha
一個功能豐富的測試框架,用於 Node.js 和瀏覽器上的 Java 應用測試,使非同步測試變得簡單而有趣。它可以持續運行測試,支持靈活又准確的報告,當映射到未捕獲異常時轉到正確的測試示例。
4、Karma
基於 Node.js 的 Java 測試運行器,旨在為開發人員帶來有效的測試環境。可用於測試所有主流 Web 瀏覽器,也可集成到 CI 工具,還可和其他代碼編輯器一起使用。另外一個強大特性就是,它可以監控文件的變化,然後自行執行,通過 console.log 顯示測試結果。
二、Web 測試
1)集成測試
Enzyme
一個用於 React 的 Java 測試工具,方便你判斷、操縱和歷遍 React Components 輸出。其 API 旨在通過模仿 jQuery 的 API ,使得 DOM 操作和歷遍很靈活、直觀。兼容所有的主要測試運行器和判斷庫。
2)功能測試
selenium錄制器
一個易於使用的採用關鍵字驅動的理念的瀏覽器自動化測試解決方案。它強大的錄制回放功能是在所有web測試工具中是最強悍的。該工具支持不同級別的測試技能,非程序員可以輕松地啟動自動化測試項目,而程序員和高級自動化測試人員可以節省構建新庫和維護腳本的時間。
3)Visual 測試
Storybook
一個 UI 組件的開發環境,允許你瀏覽組件庫,查看每個組件的不同狀態,以及互動式開發和測試組件。它運行在應用之外,允許隔離開發 UI 組件,這可以提高組件的重用性、可測試性和開發速度。
4)猴子測試(Monkey Testing,也稱「搞怪測試」)
Gremlins.js
一個用 Java 編寫的猴子測試庫,用於 Node.js 和瀏覽器。通過釋放大量無規律的 gremlins 來檢測 Web 應用的魯棒性。
5)服務端測試
1、K6
用於測試性能,以開發人員為中心的負載測試工具。提供了一個通過 REST API 進行編排的清新易用的腳本 API 。使用 Go 和 Java構 建,可以很好地集成到開發工作流程中。
2、SuperTest
SuperAgent 的一個擴展,一個輕量級 HTTP AJAX 請求庫。提供對 HTTP 測試的高度抽象, 極大地簡化了基於 HTTP 的測試。
更多軟體測試知識可關注黑馬程序員
㈨ 網站壓力測試中,如何做點擊率測試能盡量詳細越好,謝謝!!
看網址 Web伺服器搭建完成上線在即,其能夠承載多大的訪問量,響應速度、容錯能力等性能指標,所有這些是管理人員最想知道也最為擔心的。如何才能知曉這一切呢?通過工具進行Web壓力測試是個好方法。通過它可以有效地測試Web伺服器的運行狀態和響應時間等性能指標。
一、測試環境:
hardsoft:CPU:Athlon XP2500+、內存512MB、硬碟80GB
Server OS:Windows Server 2003
IIS: 6.0
BBS: 動網 7.0
IP: 192.1681.20
Tool:Web Application Stress Tool
二、工具介紹
可用來進行Web壓力測試的工具有很多,比如微軟的Web Application Stress、Linux下的siege、功能全面的Web-CT等等,這些都是非常優秀的Web壓力測試工具。雖然這些工具給我們測試伺服器承受能力帶來方便,但是它們卻是「雙刃劍」,攻擊者利用隨便一種比較全面的測試工具就可以對一台小型的Web伺服器發動災難性的拒絕式攻擊。
下面筆者就以微軟的Web Application Stress Tool(簡稱WAST)為例進行一次Web壓力測試。這是由微軟的網站測試人員開發的專門用來進行實際網站壓力測試以一套工具。透過這套功能強大的壓力測試工具,管理人員可以在網站實際上線之前先網站進行如同真實環境下的測試,以找出系統潛在的問題,對系統進行進一步的調整、設置工作。
三、工具設置
下載並安裝WAST,過程及其簡單。然後運行WAST可以看到其界面非常簡潔,在對目標Web伺服器進行壓力測試之前,首先要對它進行一些必要的設置。
1、設置並行連接數
點擊左側的「Defaults→Settings」打開設置面板。在Concurrent Connections下進行並行連接設置。Stress level (threads)是最少線程,Stress multiplier是最大線程。這里的線程是指定程序在後台用多少線程進行請求,也就是相當於模擬多少個客戶機的連接,一般填寫 500~1000,因為這個線程數是根據本機的承受力來設置的,如果你對自己的機器配置有足夠信心的話,那麼可以設置得更高一些。(圖1)
圖1
2、設置持續時間
在「Test Run Time」中用來指定一次壓力測試需要持續的時間,分為天、小時、分、秒幾個單位級別,比如我們設置為1個小時。(圖2)
圖2
3、其餘設置
「Rpquest Delay」設置延遲時間,我們設置為100~500。「Suspend」設置設定掛起時間,Warmup時間是初始化測試運行時間,cooldown時間就是指定結束階段的測試時間。Bandwith」指定帶寬瓶頸,允許你模擬從14.4 Kbps的modem連接到T1 (1.5 Mbps)的Local Area Network (LAN)連接的網路帶寬。Redirects設置重定向時間,「Throughput」設置用戶、密碼頁面狀態保存等是否啟用,「Name resolution」設置是否進行名稱解析。所有以上的選項大家可以根據自己的需要進行設置。(圖3)
圖3
四、壓力測試
設置完成後就可以進行壓力測試,測試的步驟如下:
第一步:點擊工具欄上的「new script」按鈕在打開的面板中點擊「Nanual」按鈕創建一個新的測試項目。在打開的窗口中對它進行設置,在主選項中的server中填寫要測試的伺服器的IP地址,這里我們填寫192.168.1.20,在下方選擇測試的Web連接方式,這里的方式Verb選擇get,path選擇要測試的Web頁面路徑,這里填寫/Index.asp即動網的首頁文件,WAST可以設置更多的Path。(圖4)
圖4
第二步:在「Settings」的功能設置中將Stress level (threads)線程數設置為1000。完畢後,點工具中的灰色三角按鈕即可進行測試。測試過程中我們可以從伺服器的任務管理器中看到CPU使用率已經 達到100%,損耗率達到最大見圖5。在CMD窗口中使用命令netstat -an,可以看到客戶端的IP地址在伺服器上的80埠進行了非常多的連接見圖6,而且Web網站已經打不開了,提示過多用戶連接。(圖5)(圖6)
圖5
圖6
總結:通過Web壓力測試,管理員對Web伺服器的抗壓能力有了大概的把握,從而根據實際需要可以進行伺服器硬體擴展,同時也為系統設置、軟體選擇等提供了依據。總括來說,在Web伺服器正式發布前進行壓力測試是非常必要的。