柯雨欣 李昕昕 龔勛
摘要:搜索引擎以其強大的抓取能力,為用戶篩選、提供有價值的信息。數據搜索的準確性和性能決定了搜索引擎的市場前景。因此采用loadrunner作為性能測試工具,從搜索引擎的性能負載入手,對目前常用的三款主流搜索引擎進行了性能測試,并對測試結果進行了分析,給出了三款搜索引擎的具體測評數據,以供同行參考。
關鍵字:搜索引擎;LoadRunner;性能測試;對比測試;軟件測試
中圖分類號:TP302.7 文獻標識碼:A 文章編號:1009-3044(2018)28-0253-03
LoadRunner-Based Search Engine Load Pressure Comparison Test
KE Yu-xin, LI Xin-xin, GONG Xun
(School of Computer Dcience and Software Engineering, Jincheng College of Sichuan University, Chengdu 610000, China)
Abstract: Search engine with its powerful grasping ability, for users to filter, provide valuable information. The accuracy and performance of data search determine the market prospect of search engine. Therefore, this paper uses LoadRunner as a performance testing tool, starting from the performance load of search engine, the performance test of three search engines are used at present, and the test results are analyzed, the specific data of three search engines are given for reference by peers.
Key words: search engine; LoadRunner; performance test; contrast test; software test
搜索引擎(Search Engine)是指根據一定的策略、運用特定的計算機程序從互聯網上搜集信息,在對信息進行組織和處理后,為用戶提供檢索服務,將用戶檢索相關的信息展示給用戶的系統。用戶可以利用搜索引擎快速有效地從海量數據中提取自己需要的信息。因此如何幫助搜索引擎擁有更好的性能,就是本文要解決的問題。與其他的測試軟件相比,性能測試工具 LoadRunner 由于支持眾多的協議,擁有良好的操作界面和幫助文檔,成為目前應用最為廣泛的性能測試工具之一[1]。
本文將選取目前中國市場占比最高的三款搜索引擎:百度、360和搜狗利用性能測試工具 LoadRunner進行負載測試,并對測試數據進行橫向對比,提供具有實際意義的測試數據供同行參考。
1 負載測試工具 LoadRunner 簡介
LoadRunne是Mercury Interactive 公司的一款工業級系統性能測試工具,于 2006年11月被惠普公司收購,成為惠普公司的一款性能測試產品[2]。它是一款支持多種協議的性能測試工具,主要從響應時間、吞吐量、并發用戶和資源利用率等方面來衡量系統的性能。 LoadRunner 通過以模擬真實的用戶實施并發負載及實時性能監測的方式來確認和查找問題,優化性能和加速應用系統的發布周期[3]。它不僅能夠模擬如按鍵或鼠標移動等用戶界面的操作,而且還能夠通過產生應用組件之間的信息來模擬用戶的行為[4]。這些信息由LoadRunner進行錄制并以腳本形式存儲,然后通過運行腳本進行用戶模擬測試。利用LoadRunner可以同步模擬成千上萬的并發用戶,從而測試應用網站是否可以同時負載大量的真實用戶[5]
2 測試方案設計
2.1 測試指標
在指定并發用戶數壓力下的請求平均響應時間、吞吐量、平均吞吐量、請求處理成功率。
2.2 測試計劃
根據測試指標,模擬300個用戶行為,設計測試腳本與測試場景,統一測試環境對三個搜索引擎進行相應的測試,并對測試結果進行分析。
2.3 設計測試腳本
1) 選擇協議:采用Ajax(Click and Script)協議。Ajax(Asynchronous Javascript And XML)是指一種創建交互式網頁應用的網頁開發技術,用于和服務器異步交互。AJAX通過xmlHttpRequest對象請求服務器,服務器接受請求返回xml或者json數據而不是html,然后支持在html不變情況下動態更新頁面內容而無須刷新。普通http請求通過httpRequest對象請求,服務器接受請求返數據需要頁面刷新。
2) 錄制腳本:利用 VuGen 錄制用戶腳本。
3) 優化腳本:
(1) 添加集合點函數,用來生成有效可控的并發操作,模擬用戶在同一時間進行搜索,在查詢事務之前插入集合點函數:lr_rendezvous(“search”)。
(2) 添加文本檢查點函數,對服務器返回的內容進行檢查,幫助用戶驗證請求發送出去后,服務器的返回是不是用戶期望的內容:web_reg_find("Text=找到相關結果",LAST);
(3) 參數化。用戶在錄制腳本過程中,提交了一些數據,這些操作都被記錄到腳本中,當多個虛擬用戶運行腳本時,都是提交相同的記錄,這樣不符合實際的運行情況,而且有可能引起沖突[6]。為了更加真實地模擬用戶的行為,對搜索的內容進行參數化: "SetValue={test}"。
總體 網頁資源量較多,服務器性能較好,請求處理成功率尚可。適用于多用戶,快網速場景。 網頁資源量較多,服務器性能尚可,請求處理成功率較高。適用于中等數量用戶,快網速場景。 網頁資源量較少,服務器性能較差,請求處理成功率尚可。適用于少量用戶,網速尚可場景。 ]
3 結論
本文利用負載測試工具LoadRunner對三個搜索引擎進行了負載壓力對比測試,并對測試結果進行了分析??傮w來看,百度搜索引擎性能最佳,各項指標均處于平均偏上;搜狗搜索引擎性能次之,其特點是處理成功率較高;360搜索引擎性能稍欠,對比于其余二者仍有一定差距。本測試僅在負載壓力方面對搜索引擎進行測試,所選取數據為多次測試中一例,以供于同行參考。
參考文獻:
[1] 丁秀蘭.Web 測試中性能測試工具的研究與應用[D].太原理工大學,2008.
[2] 王蕾.基于LoadRunner的負載壓力測試[J].現代計算機,2013(12):23-25.
[3] 辛小霞.基于LoadRunner的軟件性能測試研究[J].現代計算機,2007(6):32-35.
[4] 張麗,蔣平安,楊朋潤.石河子墾區土地利用土地覆被變化遙感檢測研究[J].新疆農業大學學報,2005,28(1):6-8.
[5] 張瑩,陳圣波,王明常,等.土地利用的遙感信息變化提取研究[J].科學技術與工程,2012,12(24):5966-5970.
[6] 李旭東,朱立谷.基于LoadRunner 的參數化策略的研究與應用[J].計算機應用與軟件, 2012,29(12):232-236.DOI:10.3969/j.issn. 1000-386x.2012.12.065.
【通聯編輯:梁書】