loadrunner基礎

loadrunner基礎

LoadRunner:是一種預測系統行為和性能的負載測試工具。通過以模擬上千萬戶實施并發負載及實時性能監測的方式來確認和查找問題,LoadRunner能夠對整個企業架構進行測試

1、Apache與tomcat區別:

apache是web服務器,tomcat是應用(java)服務器,它只是一個servlet(jsp也翻譯成servlet)容器,可以認為是apache的擴展,但是可以獨立于apache運行。apache支持靜態頁,tomcat支持動態的,比如servlet等。

相同點:

1、兩者都是apache組織開發的

2、兩者都有HTTP服務的功能

3、兩者都是免費的

不同點:

1、Apache是專門用了提供HTTP服務的,以及相關配置的(例如虛擬主機、URL轉發等等)

2、TomcatApache組織在符合J2EE的JSP、Servlet標準下開發的一個JSP服務器

3、如果客戶端請求的是靜態頁面,則只需要Apache服務器響應請求

4、如果客戶端請求動態頁面,則是Tomcat服務器響應請求

5、因為jsp是服務器端解釋代碼的,這樣整合就可以減少Tomcat的服務開銷

6、apache:側重于http server

7、tomcat:側重于servlet引擎,如果以standalone方式運行,功能上與apache等效,支持JSP,但對靜態網頁不太理想

2、公司組網、CPU,內存、主板性能

組網:網絡組建技術,分為以太網組網(總線型結構)技術和ATM局域網組網技術(中心連接計算機所構成的局域網絡)。

基本網絡結構有環形網和鏈形網

1、鏈形網需要的光纖數量較少,但是對業務沒有保護。因此常用于光纖數量較少,業務不重要的場合。

2、環形網可以對業務提供保護,在組網時應根據不同的業務分布來確定它的保護方式。

公司服務器CPU、內存:一般在16核32G以上價格昂貴,或者更高32核64G價格高達百萬

3、Socket與http區別

網絡七層協議:物數網傳會表應如下圖:

從上到下分別是7應用層6表示層5 會話層 4傳輸層3 網絡層2數據鏈路層1物理層

其中高層(即7、6、5、4層)定義了應用程序的功能,下面3層(即3、2、1層)主要面向通過網絡的端到端的數據流


HTTP協議:

1、HTTP協議:超文本傳輸協議,對應于應用層,用于如何封裝數據。HTTP(短連接)連接使用的是"請求-響應"方式

2、TCP/UDP協議:傳輸控制協議,對應于傳輸層,主要解決數據在網絡中的傳輸。

3、IP協議:對應于網絡層,同樣解決數據在網絡中的傳輸。

Socket連接:

1、Socket(長連接)是對TCP/IP協議的封裝,Socket只是個接口不是協議,通過Socket我們才能使用TCP/IP協議,除了TCP,也可以使用UDP協議來傳遞數據。

2、創建Socket連接的時候,可以指定傳輸層協議,可以是TCP或者UDP,當用TCP連接,該Socket就是個TCP連接,反之。

Socket連接至少需要一對套接,分為clientsocket、servicesocket,連接為3個步驟:

(1)服務器監聽

(2)客戶端請求

(3)連接確認

若雙方是Socket連接,可以由服務器直接向客戶端發送數據。

若雙方是HTTP連接,則服務器需要等客戶端發送請求后,才能將數據回傳給客戶端。

因此,客戶端定時向服務器端發送請求,不僅可以保持在線,同時也詢問服務器是否有新數據,如果有就將數據傳給客戶端。


session、token、cookie區別:

session(會話):

服務器分配給客戶端的唯一身份標識,服務器使用session把用戶的信息臨時保存在了服務器上,用戶離開網站后session會被銷毀。可是session有一個缺陷:如果web服務器做了負載均衡,那么下一個操作請求到了另一臺服務器的時候session會丟失。

cookie(緩存):

cookie是瀏覽器里面能永久存儲的一種數據。cookie由服務器生成,發送給瀏覽器,瀏覽器把cookie以key-value形式保存到某個目錄下的文本文件內,下一次請求同一網站時會把該cookie發送給服務器。

token(令牌):

token是用戶身份的驗證方式,是服務端生成的一串字符串,以作客戶端進行請求的一個令牌,當第一次登錄后,服務器生成一個Token便將此Token返回給客戶端,以后客戶端只需帶上這個Token前來請求數據即可,無需再次帶上用戶名和密碼。最簡單的token組成:uid(用戶唯一的身份標識)、time(當前時間的時間戳)、sign(簽名,由token的前幾位+鹽以哈希算法壓縮成一定長的十六進制字符串,可以防止惡意第三方拼接token請求服務器)。還可以把不變的參數也放進token,避免多次查庫

使用:1、用設備號/設備mac地址作為Token(推薦)。2、用session值作為Token。Token的目的是為了減輕服務器的壓力,減少頻繁的查詢數據庫,使服務器更加健壯。

4、Loadrunner重要概念:

事務:又稱為Transaction,事務(Transaction)是這樣一個點,我們為了衡量某個action的性能,需要在action的開始和結束位置插入這 樣一個范圍,這就定義了一個transaction。

lr_start_transaction("事務名");

lr_end_transaction("事務名",LR_AUTO);

事務作用:LoadRunner運行到該事務的開始點時,LoadRunner就會開始計時,直到運行到該事務的結束點,計時結束。通俗的講LoadRunner中的事務就是一個計時標識,通常事務時間所反映的是一個操作過程的響應時間。

1、事務是LoadRunner度量系統性能指標的唯一手段

2、事務能夠用于度量高風險業務流程的性能指標;

3、事務能夠度量在一組操作中每一步的性能指標;

4、通過事務計時實現了不同壓力負載下的性能指標對比;

5、通過事務計時可以幫助定位性能瓶頸;

集合點:執行負載測試時,需要模擬系統上有較重的用戶負載。要實現此操作,可以同步Vuser 以便恰好在同一時刻執行任務。插入集合點是為了衡量在加重負載的情況下的性能情況。

lr_rendezvous("SubmitQueryData");

注意:只能向Action 部分(而不是 init 或 end 部分)添加集合

思考時間(think-time)模擬實際用戶在不同操作之間等待的時間以秒為單位一般1-5秒

如:

lr_think_time(8);

靜態資源:html:靜態資源,瀏覽器可以看得懂,它可以有變量;

動態資源:動態資源,需要先轉換成html,再給瀏覽器看。ASP/PHP

Javaweb服務器:

l? Tomcat(Apache):當前應用最廣的JavaWeb服務器(只支持一部分JavaEE的規范);

l? JBoss(Redhat紅帽):支持JavaEE,應用比較廣;EJB容器

l? GlassFish(Orcale):Oracle開發JavaWeb服務器,應用不是很廣;

l? Resin(Caucho):支持JavaEE,應用越來越廣;

l? Weblogic(Orcale):要錢的!支持JavaEE,適合大型項目;

l? Websphere(IBM):要錢的!支持JavaEE,適合大型項目;

分析需求-----錄制腳本---調試------場景-------結果分析

1、腳本設計

錄制模式:手工插入步驟、手動編寫

1.1腳本增強:

事務、集合點、參數化、關聯、檢查點

檢查點:檢查點:web_reg_find 、web_find(需要打勾)區別,web_reg_find函數在檢查頁面執行過程中如果檢查到數據就會顯示結果。而web_find函數則在頁面全部加載完成后,再去尋找需要查找的對象。

參數化方法:

方法一,右鍵---【Replace?with?a?new?parameter

方法二,菜單【insert】----【new?Parameter…

1.2腳本調試:RunTime Settings

a. ?Run Logic:只有action能循環,init 和 end 不行

b. ?Log

c. ?Miscellaneous

d. ?Browser Emulation:Simulate a new user ?on eachiteration (測試時如果服務器未掛,但出現了大量的 Failed toconnect to server 時,去除這個勾)

e. ?Preference:Winlnet replay instead of Socket(Windows Only)(測試時如果服務器未掛,但出現了大量的Failed to connect to server 時,去除這個勾)

f. ?d與e的區別:d設置時,結果分析中可以出現網頁細分圖,e設置時,收集結果中不能出現網頁細分圖。

1.3 ?POST的三種方式

a. ?web_submit_form:只能POST,使用簡單,Cache中取數據,不可控性

b. ?web_submit_data:只能POST,功能與 a 相似,但較復雜,與Cache無關

c. ?web_custom_request:只能發送 POST 和 GET 請求,所有 b 能實現的請求,本方法都可實現,也可以實現b 無法實現的請求

2、 場景設計

2.1 ?手工場景

a. ?Schedule by 選擇 Scenario,則所有腳本使用相同的設置Run的方式;選擇Group,則分別為不同的腳本設置Run的方式。

b. ?Run Mode:選擇Real-World Schedule,則可以通過action來增加多個用戶;選擇Basic Schedule ,只能設置一次負載

2.2 ?目標場景

a. Virtual Users :以滿足虛擬用戶數為目標

b. Hits Per Second:以每秒的點擊率為目標

c. Transaction Per Second:以每秒通過的事務為目標

d. Transaction Response Time:以事務響應時間為目標

e. ?Pages Per Second:以每秒訪問的頁面為目標

2.3 ?集合點設置

3. ?結果分析

3.1 ?Analysis Summary:簡要分析

3.2 ?Running VUsers(運行并發數),Hit Per Second(每秒點擊數),Throughtput(吞吐量),Transaction(事務),Summary(摘要),Average TransactionResponse Time(事務平均響應時間)

3.3 ?Open a new Graph

a. ?Transaction?àTransactions Per Second

b. ?Web Page Disgnostics

3.4 ?Cost Time (耗時)

a. ?Receive Time

b. ?First Buffer Time:NetWork Time、 Server Time

c. ?Connection Time

d. ?DNS Resolution Time

e. ?Client Time

f. ? SSL HandShaking Time

g. ?FTP Authentication Time

h. ?Error Time

3.5 ?結果分析中js、css、圖片的耗時為0的解決方案:

a. ?在腳本中去除 web_concurrent_start() 和 web_concurrent_end()函數(若不可以,再設置b 選項)

b. ?使用瀏覽器模擬并清除緩存

Linux日志查看tail與more的區別與優勢

more的參數應用

more -dc /etc/profile???注:顯示提示,并從終端或控制臺頂部顯示;

more +4 /etc/profile????注:從profile的第4行開始顯示;

more -4 /etc/profile??? 注:每屏顯示4行;

more +/MAIL /etc/profile??注:從profile中的第一個MAIL單詞的前兩行開始顯示;

more的動作指令

Enter向下n行,需要定義,默認為1行;

Ctrl+f向下滾動一屏;

空格鍵向下滾動一屏;

Ctrl+b返回上一屏;

=輸出當前行的行號;

:f輸出文件名和當前行的行號;

v調用vi編輯器;

! 命令?????調用Shell,并執行命令;

q退出more當我們查看某一文件時,想調用vi來編輯它,不要忘記了v動作指令

tail命令:

tail?? -n 行數值 文件名查看后n行

tail -f /var/log/syslog 顯示文件 syslog 的后十行內容并在文件內容增加后,且自動顯示新增的文件內容。

備注:最后一條命令tail非常有用,尤其在監控日志文件時,可以在屏幕上一直顯示新增的日志信息。

loadrunner關聯(correlation):

語法:

int web_reg_save_param(const char *ParamName, , LAST);

參數說明:

· ParamName: 存放得到的動態內容的參數名稱

· list of Attributes: 其它屬性,包括:Notfound, LB, RB, RelFrameID, Search, ORD, SaveOffset, Convert, SaveLen。屬性值不分大小寫

o Notfound: 當在返回信息中找不到要找的內容時應該怎么處理

o Notfound=error: 當在返回信息中找不到要找的內容時,發出一個錯誤訊息。這是缺省值。

o Notfound=warning: 當在返回信息中找不到要找的內容時,只發出警告,腳本也會繼續執行下去不會中斷。

o LB( Left Boundary ) : 返回信息的左邊界字串。該屬性必須有,并且區分大小寫。

o RB( Right Boundary ): 返回信息的右邊界字串。該屬性必須有,并且區分大小寫。

o RelFrameID: 相對于URL而言,欲查找的網頁的Frame。此屬性質可以是All或是數字,該屬性可有可無。

o Search : 返回信息的查找范圍。可以是Headers,Body,Noresource,All(缺省)。該屬性質可有可無。

o ORD : 說明第幾次出現的左邊界子串的匹配項才是需要的內容。該屬性可有可無,缺省值是1。如為All,則將所有找到的內容儲存起來。

o SaveOffset : 當找到匹配項后,從第幾個字元開始存儲到參數中。該屬性不能為負數,缺省值為0。

o SaveLen :當找到匹配項后,偏移量之后的幾個字元存儲到參數中。缺省值是-1,表示一直到結尾的整個字串都存入參數。


注意:"是loadrunner字符,要使用需要轉譯 ? ? \ ?"

取值:

lr_output_message("# 關聯函數HASH_KEY的值:\n %s", lr_eval_string("{ParamName}"));

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,825評論 6 546
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,814評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,980評論 0 384
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 64,064評論 1 319
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,779評論 6 414
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,109評論 1 330
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,099評論 3 450
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,287評論 0 291
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,799評論 1 338
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,515評論 3 361
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,750評論 1 375
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,221評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,933評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,327評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,667評論 1 296
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,492評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,703評論 2 380

推薦閱讀更多精彩內容