999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于JMeter的網站性能測試研究

2022-12-21 10:06:00
信息記錄材料 2022年10期
關鍵詞:設置用戶

楊 柳

(廈門海洋職業技術學院 福建 廈門 361100)

0 引言

近年來,實際網站案例在課堂教學中的應用越來越廣泛,對課堂教學及教學成果的驗收起到極大的輔助作用。但經常會發生網站沒有經過性能測試,或者性能測試不充分而引發的問題,比如系統訪問量激增而導致網站癱瘓。因此,除了對網站進行功能測試(如黑盒測試、白盒測試)之外,還需要對網站的性能進行測試,性能測試也是非常重要且必要的。本文通過介紹Fiddler抓包工具和JMeter測試工具,對WebTours網站進行性能測試。通過測試案例分析,得出測試結果并進行分析,從而判斷網站是否達到用戶的性能需求。

1 概述

1.1 性能測試

性能測試是通過性能測試工具模擬正常、峰值及異常負載狀態下對系統的各項性能指標進行測試的活動。性能測試能夠驗證軟件系統是否達到了用戶期望的性能需求,包括系統的執行效率、穩定性、可靠性、安全性等,同時發現系統中可能存在的性能瓶頸及缺陷,從而優化系統的性能。性能的好壞首先可以表明軟件系統或構件對其及時性要求的符合程度,其次,性能是軟件產品的一種特性,可以用時間來進行度量。性能測試的及時性指標可以用響應時間來衡量,也可以用吞吐量來衡量[1]。

評價性能測試的指標有:響應時間、吞吐量、并發用戶數、TPS、點擊率和資源利用率。

在進行性能測試時,需要使用性能測試工具來代替手工測試,即性能測試自動化的過程。性能測試的自動化解決方案應達到模擬各個級別數量用戶與系統交互,而無需過多的硬件需求,并且能測量最終模擬用戶的響應時間[2-3]。

性能測試的流程如圖1所示。

圖1 性能測試流程圖

1.2 Fiddler抓包工具

Fiddler是基于http協議的一種調試代理工具,通過Fiddler,可以抓取到客戶端和服務器端之間的所有HTTP請求,同時對用戶特定的HTTP請求分析其請求數據、設置相應的斷點、調試Web應用、修改頁面請求的數據,甚至可以根據用戶的需要修改服務器返回的數據。通俗來講,Fiddler可以記錄、檢查所有終端設備和互聯網之間的http通訊,抓取并查看進出Fiddler的數據。Fiddler是以代理web服務器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。

1.3 JMeter測試工具

JMeter是Apache組織基于Java開發的一款性能測試軟件,是一款開源、小巧、支持多協議、眾多插件為一體的強大工具。JMeter最初出現的時候,被用于針對Web的應用測試,后來進一步擴展到其他的測試領域。它可以用于測試靜態和動態資源,例如靜態文件、Java小服務程序、CGI腳本、Java對象、數據庫、FTP服務器等[4]。

JMeter能夠通過斷言來驗證程序是否返回期望的結果,同時可以批量產生測試人員所需的測試數據,用于對服務器、網絡或對象模擬巨大的負載,從而測試網站的性能強度,進一步分析網站的整體性能[5-6]。

2 性能測試過程及結果分析

本文以WebTours網站注冊功能為例,通過Fiddler抓包、JMeter取樣、添加事務、設置檢查點、注冊用戶參數化(50個用戶)、設置集合點、場景設計等,最后通過命令行執行,觀察執行結果。

2.1 JMeter創建線程

在安裝運行WebTours網站前,先安裝strawberry軟件,然后解壓WebTours,在解壓后的目錄中雙擊StartServer.bat運行服務器,訪問http://localhost:1080/webTours,能正常啟動WebTours網站即可。

使用Fiddler抓包工具抓包,注意只抓取WebTours網站注冊功能界面。本次抓取到WebTours網站注冊時,有4個請求界面,分別為: http://localhost:1080/cgi-bin/welcome.pl?signOff=true,http://localhost:1080/cgibin/welcome.pl?signOff=true,http://localhost:1080/cgi-bin/login.pl?username=&password=&getInfo=true和http://localhost:1080/cgi-bin/login.pl。

在JMeter中創建線程組,添加線程“WebTours注冊”,為抓取到的每個注冊界面,添加HTTP請求,并進行設置,設置協議為HTTP,服務器名稱為localhost,端口號為1080,除此之外,根據不同請求頁面,設置對應的GET/POST方式、路徑等。

2.2 “WebTours注冊”線程設置與場景設計

為注冊請求添加事務,并勾選生成父采樣選項。事務下必須有請求,不能是空事務。

為注冊請求設置檢查點,斷言是否成功注冊。斷言用于檢查測試中得到的實際結果與預期結果相等,如果達到預期,可以保證測試過程中數據的交互與期望一致。

在WebTours網站中注冊賬號要求賬號用戶名不能重復,那么腳本中的用戶名和密碼就需要被參數化,模擬真實用戶向服務器提交數據的場景。通過用戶參數方法參數化50組用戶。添加調試取樣器,觀察是否參數化成功。

在性能測試過程中,通常會在線程組中設置并發用戶數,但是在JMeter的各個線程進行業務操作的順序會存在一定的隨機性。那么集合點的目的主要是讓各個線程步調一致,對系統進行加壓,從而達到模擬真實并發訪問的效果。本文為注冊請求設置集合點,集合點5,超時為0。通過定時器中的SynChronizing Timer(同步定時器)進行設置。

線程數設置為50,R a m p-u p時間(線程啟動開始運行的時間間隔)設置為49,循環次數1。線程數設置為50表示50個用戶同時并發執行,并發用戶數量越大,對系統的性能影響越大,并發用戶數量較大可能會導致系統響應變慢、系統不穩定等。軟件系統在設計時必須要考慮并發訪問的情況,測試工程師在進行性能測試時也必須進行并發訪問的測試。R a m p-u p可以設置得足夠大,以避免在啟動測試時有一個太大的工作負載,又要足夠小以保證最后一個線程在第一個完成前啟動。一般設置ramp-up=線程數啟動,并可以進行適當上下調整。

運行線程,并觀察察看結果樹和聚合報告,如圖2、3所示。在察看結果樹中,可以得到所有的請求都有正確響應并完成,50個模擬用戶均注冊成功。在聚合報告中,可以通過觀察每個請求的平均響應時間、中位數、90%的用戶小于的響應時間、95%的用戶小于的響應時間、99%的用戶小于的響應時間、最大值、最小值、吞吐量等數據,進行性能上的分析。其中,響應時間(Response Time)指系統對用戶請求作出響應所需要的時間。這個時間是指用戶從軟件客戶端發出請求到用戶接收到返回數據的整個過程所需要的時間,包括各種中間件(如服務器、數據庫等)的處理時間。響應時間越短,表明軟件的響應速度越快,性能越好。吞吐量(Throughput)是指單位時間內系統能夠完成的工作量,它衡量的是軟件系統服務器的處理能力。吞吐量是軟件系統衡量自身負載能力的一個很重要的指標,吞吐量越大,系統單位時間內處理的數據就越多,系統的負載能力就越強。

圖2 查看結果樹

圖3 聚合報告

2.3 命令行執行與結果分析

日常測試過程中發現,在大數量并發時,JMeter GUI界面時常宕機、卡死,在這種情況下我們就需要使用命令行來執行腳本了(非GUI也稱為no Mode模式),使用非GUI模式,即命令行模式運行,JMeter 測試腳本能夠大大縮減所需要的系統資源。使用命令行執行的原因主要有以下三點:

(1)圖形化界面消耗更多資源,如CPU和內存,容易使壓力機達到瓶頸,從而影響測試結果。

(2)圖形化界面不支持大型的負載測試和性能測試,并發較大時,JMeter會崩潰。

(3)命令行測試支持持續集成,命令行方式可以把腳本配置到Jenkins上實現持續集成,做成自動化測試。

在運行線程時,除了采用上文中提出的圖形界面方法,還可以采用命令行方式執行。

命令行執行時,需將腳本保存在JMeter的bin目錄下,在bin目錄中創建一個空的結果文件夾。例如:WebToursTest(必須為空)。命令行執行語句:D:apache-JMeter-5.3in>JMeter-n-t WebTours1.jmx-l result.csv-e-o D:apache-JMeter-5.3inWebToursTest。執行界面如圖4所示。-n表示以命令行模式執行,-t表示腳本文件路徑,-l表示執行結果文件路徑,-e表示生成html格式的測試報告,-o表示測試報告保存的目錄文件,該文件目錄必須不存在或者為空。

圖4 命令行運行界面

命令執行完畢后,會生成result.csv文件以及html格式的測試報告。測試者可以通過測試報告得到WebTours網站執行多用戶注冊時的性能優劣。測試報告也可以反映出每個請求是否被正確執行,以及平均響應時間、中位數、最大值、最小值、吞吐量等性能指標。請求執行情況如圖5所示,請求響應時間如圖6所示。

圖5 請求執行情況

圖6 響應時間

當用戶請求能在2秒內得到響應,用戶會感覺網站的響應很快。綜合以上測試結果,可以得出,WebTours網站在多用戶并發執行時,可以進行正確的響應,各頁面請求的平均響應時間均低于1秒,但與其他頁面請求相比,點擊注冊按鈕后的切換頁面用時較長。當用戶注冊訪問量持續增加時,響應時間可能會有所增加,從而影響用戶的使用感受。WebTours網站后續可以進一步完善,縮短頁面切換的響應時間,提高網站的性能,為用戶提供更好的服務。

3 結語

本文分別介紹了性能測試概念、Fiddler抓包工具、以及JMeter測試工具。并結合WebTours網站的注冊功能進行了性能測試的實踐,得出測試聚合報告,并通過命令行執行得到測試報告,并對測試結果進行分析。綜合分析測試報告和測試結果表明,WebTours網站達到了用戶期望的性能需求,同時發現了網站中可能存在的瓶頸,如當用戶注冊訪問量持續增加時,注冊切換頁面響應時間可能會有所增加,為以后測試工作的開展提供基礎,從而進一步優化網站的性能。

猜你喜歡
設置用戶
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
7招教你手動設置參數
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
本刊欄目設置說明
中俄臨床醫學專業課程設置的比較與思考
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
100萬用戶
創業家(2015年10期)2015-02-27 07:54:39
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
主站蜘蛛池模板: 亚洲第一区欧美国产综合| 欧美中文字幕在线播放| 91精品国产综合久久不国产大片| 波多野结衣无码视频在线观看| 久久精品一品道久久精品| 国产免费人成视频网| 成人一级黄色毛片| 国产精品一区不卡| 亚洲综合专区| 丰满少妇αⅴ无码区| 91免费片| 久久这里只精品国产99热8| 91国语视频| 毛片免费网址| 国产麻豆另类AV| 三上悠亚精品二区在线观看| 欧美97欧美综合色伦图| 试看120秒男女啪啪免费| 亚洲精品另类| 欧美精品成人一区二区视频一| 欧美另类一区| 伊人天堂网| 亚洲欧美日本国产综合在线 | 日韩在线播放欧美字幕| 伦精品一区二区三区视频| 久久精品无码国产一区二区三区 | 91午夜福利在线观看| 午夜国产理论| 亚洲床戏一区| 欧美精品综合视频一区二区| 成色7777精品在线| 国产在线精品网址你懂的| 青青青伊人色综合久久| 国产丝袜91| 亚洲精品在线观看91| 中文字幕在线免费看| 欧美亚洲日韩不卡在线在线观看| 欧美在线网| 欧美黄色a| 国产电话自拍伊人| 久久国产精品波多野结衣| 欧美日韩国产在线播放| 久久精品国产999大香线焦| 夜夜高潮夜夜爽国产伦精品| 老司机午夜精品网站在线观看| 亚洲婷婷丁香| 国产特级毛片| 中文字幕永久视频| 午夜视频在线观看区二区| 天天综合网色| 国产一级毛片高清完整视频版| 无码久看视频| 国产香蕉在线| 精品成人一区二区三区电影| AV不卡无码免费一区二区三区| 91亚瑟视频| 一级爱做片免费观看久久| 人妻无码中文字幕第一区| 久久情精品国产品免费| 精品一区二区无码av| 91欧美在线| 一级毛片在线播放免费观看| 国产高清无码第一十页在线观看| 国产性生大片免费观看性欧美| 欧美一级在线| 亚洲国产精品美女| 午夜在线不卡| 亚洲日本一本dvd高清| 久久精品日日躁夜夜躁欧美| 波多野结衣久久精品| 中文字幕永久在线观看| 伊人91视频| 国产成人1024精品下载| 999国产精品永久免费视频精品久久| 亚洲αv毛片| 久久久久青草线综合超碰| 国产亚洲高清视频| 中文字幕乱码二三区免费| 欧美久久网| 欧美午夜在线视频| 免费在线不卡视频| 午夜免费小视频|