1) 了解協(xié)議的概念
2) 協(xié)議的選擇
網(wǎng)絡(luò)協(xié)議:計算機網(wǎng)絡(luò)中進行數(shù)據(jù)交換而建立的規(guī)則揪荣、標準或約定的集合
Web(HTTP/HTML)(應(yīng)用層協(xié)議)
http協(xié)議:用于從WWW服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議
Sockets(TCP/IP網(wǎng)絡(luò)的API)
.net協(xié)議
????web services
常用數(shù)據(jù)庫協(xié)議(ODBC,ORACLE,SQLSERVER 等
郵件(SMTP抱环、pop3)
????Simple Mail Transfer Protocol
????Post Office Protocol - Version 3
其它協(xié)議
ftp文件傳輸協(xié)議
HTTP協(xié)議特點:
1.支持客戶/服務(wù)器模式希痴。2.簡單快速:客戶向服務(wù)器請求服務(wù)時另伍,只需傳送請求方法和路徑宪睹。請求方法常用的有GET、HEAD岗照、POST村象。每種方法規(guī)定了客戶與服務(wù)器聯(lián)系的類型不同。由于HTTP協(xié)議簡單攒至,使得HTTP服務(wù)器的程序規(guī)模小厚者,因而通信速度很快。3.靈活:HTTP允許傳輸任意類型的數(shù)據(jù)對象迫吐。正在傳輸?shù)念愋陀蒀ontent-Type加以標記库菲。4.無連接:無連接的含義是限制每次連接只處理一個請求。服務(wù)器處理完客戶的請求志膀,并收到客戶的應(yīng)答后熙宇,即斷開連接鳖擒。采用這種方式可以節(jié)省傳輸時間。5.無狀態(tài):HTTP協(xié)議是無狀態(tài)協(xié)議烫止。無狀態(tài)是指協(xié)議對于事務(wù)處理沒有記憶能力蒋荚。缺少狀態(tài)意味著如果后續(xù)處理需要前面的信息,則它必須重傳馆蠕,這樣可能導致每次連接傳送的數(shù)據(jù)量增大期升。另一方面,在服務(wù)器不需要先前信息時它的應(yīng)答就較快荆几。
例子:
利用fiddler抓包
http://zhmai.com/smartwater/index.html ??
1)LR的原理和使用流程介紹
性能測試原理:
1吓妆、用戶行為模擬
不同用戶使用不同的數(shù)據(jù)(參數(shù)化實現(xiàn))
多用戶并發(fā)操作(集合點)
用戶請間的依賴關(guān)系(關(guān)聯(lián))
請求劍的延時時間(思考時間)
2赊时、 性能指標監(jiān)控
請求響應(yīng)時間監(jiān)控
服務(wù)器處理能力監(jiān)控(事務(wù)吞吐量)
服務(wù)器資源利用率監(jiān)控(計數(shù)器接口)
3吨铸、性能調(diào)優(yōu)
通過指標的監(jiān)控發(fā)現(xiàn)系統(tǒng)存在的性能缺陷,利用分析工具定位并修正性能問題祖秒。Loadrunner本身并不提供任何性能調(diào)優(yōu)的功能诞吱。但在其Analysis組件中提供了常見性能分析的策略及整合報告功能。
使用流程:
1竭缝、錄制腳本
2房维、修改腳本(參數(shù)化,關(guān)聯(lián)抬纸,事務(wù))
3咙俩、創(chuàng)建場景(controller將模擬腳本分發(fā)到負載生成器,負載生成器根據(jù)預(yù)先對設(shè)定對系統(tǒng)進行壓力)
4湿故、執(zhí)行場景
1) Virtual User Generator(Vugen)— 創(chuàng)建腳本
2) Controller — 設(shè)計阿趁、運行和監(jiān)控負載測試場景
3) Analysis — 分析場景,查看坛猪、分析和比較性能結(jié)果
4) Load Gernerator—負載生成器
1) LR的術(shù)語介紹
1. 場景(Scenario):場景即測試場景脖阵,在LoadRunner中主要表現(xiàn)為Controller中設(shè)計與執(zhí)行用例中的用戶場景。主要工作有墅茉,在Controller中選擇虛擬用戶腳本命黔、設(shè)置虛擬用戶數(shù)量、配置虛擬用戶運行時的行為就斤、選擇負載發(fā)生器(Load Generator)悍募、設(shè)置執(zhí)行時間等。
單一場景洋机、混合場景
2.?負載發(fā)生器(Load Generator):用來產(chǎn)生壓力的真實機器搜立,受Controller控制,可以使用戶腳本在不同的主機上執(zhí)行槐秧。在性能測試工作中啄踊,通常由一個Controller控制多個Load Generator以對被測試系統(tǒng)進行加壓忧设。
3.?虛擬用戶(Virtual User/Vuser):對應(yīng)于現(xiàn)實中的真實用戶,使用LoadRunner模擬的用戶稱為虛擬用戶颠通。其本質(zhì)是通過虛擬用戶腳本來模擬真正用戶的行為址晕。
4.?虛擬用戶腳本(Vuser scrīpt):通過Vuser Generator錄制或開發(fā)的腳本。這些腳本用來模擬用戶的行為顿锰。
5.?事務(wù)(Transaction):LoadRunner通過事務(wù)來衡量服務(wù)器的性能谨垃。在業(yè)務(wù)上事務(wù)通常是用戶的一個或一系列操作,代表一定的功能硼控;而在程序上則表現(xiàn)為一段代碼區(qū)塊刘陶。測試人員可以將一個或多個操作步驟定義為一個事務(wù),以便衡量這部分的用戶并發(fā)響應(yīng)時間牢撼。
例如:用戶可以把郵件功能模塊的“發(fā)送”操作定義為一個事務(wù)匙隔,以分析該操作的執(zhí)行性能。
6.?思考時間(Think Time):即用戶思考時間熏版,為了在模擬時更接近用戶的真實行為而引進的概念纷责。在實際中,用戶進行一系列操作后往往會進行處理撼短,例如瀏覽網(wǎng)頁再膳,而在處理過程對服務(wù)器是沒有壓力的。因此曲横,在虛擬用戶腳本中用函數(shù)lr_think_time(double time)來模擬用戶處理過程喂柒,執(zhí)行該函數(shù)時用戶線程會按照相應(yīng)的time值進行等待。
7.?集合點(Rendezvous):對應(yīng)于真實用戶中的并發(fā)點禾嫉。LoadRunner通過集合點實現(xiàn)了真正意義的并發(fā)灾杰。集合點在虛擬用戶腳本中對應(yīng)函數(shù)lr_think_time(const char*rendezvous_name),當執(zhí)行到該函數(shù)時會按照場景的并發(fā)策略來執(zhí)行夭织。
8.?事務(wù)響應(yīng)時間:事務(wù)響應(yīng)時間是一個統(tǒng)計量吭露,是評價系統(tǒng)性能的重要參數(shù)。定義好事務(wù)后尊惰,在場景執(zhí)行過程和測試結(jié)果分析中即可以看到對應(yīng)事務(wù)的響應(yīng)時間讲竿。通過對關(guān)鍵或核心事務(wù)的執(zhí)行情況進行分析,可以快速定位性能問題弄屡。
9题禀、每秒事務(wù)數(shù)TPSTransactions?per?Second:顯示在場景運行的每一秒鐘,每個事務(wù)通過膀捷、失敗以及停止的數(shù)量迈嘹,使考查系統(tǒng)性能的一個重要參數(shù)。
10、Total?Transactions?per?Second(每秒通過事務(wù)總數(shù))?:“每秒通過事務(wù)總數(shù)”顯示在場景運行時秀仲,在每一秒內(nèi)通過的事務(wù)總數(shù)融痛、失敗的事務(wù)總署以及停止的事務(wù)總數(shù)。
11神僵、Hits?per?Second(每秒點擊次數(shù)):“每秒點擊次數(shù)”雁刷,即使運行場景過程中虛擬用戶每秒向Web服務(wù)器提交的HTTP請求數(shù)。
12保礼、Throughput(吞吐率)?:“吞吐率”顯示的是場景運行過程中服務(wù)器的每秒的吞吐量沛励。其度量單位是字節(jié),表示虛擬用在任何給定的每一秒從服務(wù)器獲得的數(shù)據(jù)量炮障。