柯雨欣 李昕昕 龔勛
摘要:搜索引擎以其強(qiáng)大的抓取能力,為用戶篩選、提供有價值的信息。數(shù)據(jù)搜索的準(zhǔn)確性和性能決定了搜索引擎的市場前景。因此采用loadrunner作為性能測試工具,從搜索引擎的性能負(fù)載入手,對目前常用的三款主流搜索引擎進(jìn)行了性能測試,并對測試結(jié)果進(jìn)行了分析,給出了三款搜索引擎的具體測評數(shù)據(jù),以供同行參考。
關(guān)鍵字:搜索引擎;LoadRunner;性能測試;對比測試;軟件測試
中圖分類號:TP302.7 文獻(xiàn)標(biāo)識碼: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)是指根據(jù)一定的策略、運用特定的計算機(jī)程序從互聯(lián)網(wǎng)上搜集信息,在對信息進(jìn)行組織和處理后,為用戶提供檢索服務(wù),將用戶檢索相關(guān)的信息展示給用戶的系統(tǒng)。用戶可以利用搜索引擎快速有效地從海量數(shù)據(jù)中提取自己需要的信息。因此如何幫助搜索引擎擁有更好的性能,就是本文要解決的問題。與其他的測試軟件相比,性能測試工具 LoadRunner 由于支持眾多的協(xié)議,擁有良好的操作界面和幫助文檔,成為目前應(yīng)用最為廣泛的性能測試工具之一[1]。
本文將選取目前中國市場占比最高的三款搜索引擎:百度、360和搜狗利用性能測試工具 LoadRunner進(jìn)行負(fù)載測試,并對測試數(shù)據(jù)進(jìn)行橫向?qū)Ρ?,提供具有實際意義的測試數(shù)據(jù)供同行參考。
1 負(fù)載測試工具 LoadRunner 簡介
LoadRunne是Mercury Interactive 公司的一款工業(yè)級系統(tǒng)性能測試工具,于 2006年11月被惠普公司收購,成為惠普公司的一款性能測試產(chǎn)品[2]。它是一款支持多種協(xié)議的性能測試工具,主要從響應(yīng)時間、吞吐量、并發(fā)用戶和資源利用率等方面來衡量系統(tǒng)的性能。 LoadRunner 通過以模擬真實的用戶實施并發(fā)負(fù)載及實時性能監(jiān)測的方式來確認(rèn)和查找問題,優(yōu)化性能和加速應(yīng)用系統(tǒng)的發(fā)布周期[3]。它不僅能夠模擬如按鍵或鼠標(biāo)移動等用戶界面的操作,而且還能夠通過產(chǎn)生應(yīng)用組件之間的信息來模擬用戶的行為[4]。這些信息由LoadRunner進(jìn)行錄制并以腳本形式存儲,然后通過運行腳本進(jìn)行用戶模擬測試。利用LoadRunner可以同步模擬成千上萬的并發(fā)用戶,從而測試應(yīng)用網(wǎng)站是否可以同時負(fù)載大量的真實用戶[5]
2 測試方案設(shè)計
2.1 測試指標(biāo)
在指定并發(fā)用戶數(shù)壓力下的請求平均響應(yīng)時間、吞吐量、平均吞吐量、請求處理成功率。
2.2 測試計劃
根據(jù)測試指標(biāo),模擬300個用戶行為,設(shè)計測試腳本與測試場景,統(tǒng)一測試環(huán)境對三個搜索引擎進(jìn)行相應(yīng)的測試,并對測試結(jié)果進(jìn)行分析。
2.3 設(shè)計測試腳本
1) 選擇協(xié)議:采用Ajax(Click and Script)協(xié)議。Ajax(Asynchronous Javascript And XML)是指一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù),用于和服務(wù)器異步交互。AJAX通過xmlHttpRequest對象請求服務(wù)器,服務(wù)器接受請求返回xml或者json數(shù)據(jù)而不是html,然后支持在html不變情況下動態(tài)更新頁面內(nèi)容而無須刷新。普通http請求通過httpRequest對象請求,服務(wù)器接受請求返數(shù)據(jù)需要頁面刷新。
2) 錄制腳本:利用 VuGen 錄制用戶腳本。
3) 優(yōu)化腳本:
(1) 添加集合點函數(shù),用來生成有效可控的并發(fā)操作,模擬用戶在同一時間進(jìn)行搜索,在查詢事務(wù)之前插入集合點函數(shù):lr_rendezvous(“search”)。
(2) 添加文本檢查點函數(shù),對服務(wù)器返回的內(nèi)容進(jìn)行檢查,幫助用戶驗證請求發(fā)送出去后,服務(wù)器的返回是不是用戶期望的內(nèi)容:web_reg_find("Text=找到相關(guān)結(jié)果",LAST);
(3) 參數(shù)化。用戶在錄制腳本過程中,提交了一些數(shù)據(jù),這些操作都被記錄到腳本中,當(dāng)多個虛擬用戶運行腳本時,都是提交相同的記錄,這樣不符合實際的運行情況,而且有可能引起沖突[6]。為了更加真實地模擬用戶的行為,對搜索的內(nèi)容進(jìn)行參數(shù)化: "SetValue={test}"。
總體 網(wǎng)頁資源量較多,服務(wù)器性能較好,請求處理成功率尚可。適用于多用戶,快網(wǎng)速場景。 網(wǎng)頁資源量較多,服務(wù)器性能尚可,請求處理成功率較高。適用于中等數(shù)量用戶,快網(wǎng)速場景。 網(wǎng)頁資源量較少,服務(wù)器性能較差,請求處理成功率尚可。適用于少量用戶,網(wǎng)速尚可場景。 ]
3 結(jié)論
本文利用負(fù)載測試工具LoadRunner對三個搜索引擎進(jìn)行了負(fù)載壓力對比測試,并對測試結(jié)果進(jìn)行了分析。總體來看,百度搜索引擎性能最佳,各項指標(biāo)均處于平均偏上;搜狗搜索引擎性能次之,其特點是處理成功率較高;360搜索引擎性能稍欠,對比于其余二者仍有一定差距。本測試僅在負(fù)載壓力方面對搜索引擎進(jìn)行測試,所選取數(shù)據(jù)為多次測試中一例,以供于同行參考。
參考文獻(xiàn):
[1] 丁秀蘭.Web 測試中性能測試工具的研究與應(yīng)用[D].太原理工大學(xué),2008.
[2] 王蕾.基于LoadRunner的負(fù)載壓力測試[J].現(xiàn)代計算機(jī),2013(12):23-25.
[3] 辛小霞.基于LoadRunner的軟件性能測試研究[J].現(xiàn)代計算機(jī),2007(6):32-35.
[4] 張麗,蔣平安,楊朋潤.石河子墾區(qū)土地利用土地覆被變化遙感檢測研究[J].新疆農(nóng)業(yè)大學(xué)學(xué)報,2005,28(1):6-8.
[5] 張瑩,陳圣波,王明常,等.土地利用的遙感信息變化提取研究[J].科學(xué)技術(shù)與工程,2012,12(24):5966-5970.
[6] 李旭東,朱立谷.基于LoadRunner 的參數(shù)化策略的研究與應(yīng)用[J].計算機(jī)應(yīng)用與軟件, 2012,29(12):232-236.DOI:10.3969/j.issn. 1000-386x.2012.12.065.
【通聯(lián)編輯:梁書】