loadrunner - Run time Settings 的詳細說明

本文主要講解一下run-time settings(如圖1所示)裏各設置項的具體含義(注:標紅色的選項卡是比較值得關注的,可重點看一下):javascript

 

圖1html

一、General / Run Logic 選項卡

    主要用來設置運行時腳本迭代的次數,迭代次數只對run部分的腳本迭代次數有影響,而對int和end部分並無影響。通常設置爲1~3次,只會影響在單位時間內客戶端向服務器提交的HTTP請求數,其餘的沒有影響。java

  Number of Iterations:說明的是反覆循環的次數。 常境的時間中,若是時間設爲5分鐘,而實際上程序的運行只須要1分鐘,而在這項中,選擇的是1次的話,那程序就運行完一次後,就不會再運行。相同的,若是在這一項中選擇的是3次的話,那程序在運行後第一次後,還會再運行第二次,第三次。也就是說,在規定的時間和循環次數中,程序Run模塊的運行不超過規定時間時,那程序Run模塊會運行到規定的時間,不設定時間也能夠進行循環。 

  Insert Action:爲模塊Init, Run和End再添加Action。瀏覽器

  Insert Block:爲模塊Init, Run和End添加阻礙。添加第一次爲Block0,子目錄爲:No Actions;添加第二個爲Block1,子目錄爲:No Actions,以此爲推。 Delete:刪除。刪除每一個模塊下的Action Move Up:移動下面的模塊到上一層 Move Down:移動下面的模塊到下一層 。

  Properties:肯定Run logic中各Action的循環順序和Iterations次數。緩存

二、General /Pacing 選項卡

     主要用來設置腳本迭代過程當中腳本之間的時間間隔,如在第N次腳本迭代完成後,等待5s後進行第n+1次腳本迭代。服務器

    as soon as the previous iteration ends:在屢次迭代時,上一次迭代執行結束後立刻執行下一次迭代(如圖2所示)網絡

圖2多線程

 

    after the previous iteration ends:能夠設置爲fixed或random方式。併發

fixed方式表示上一次迭代執行結束後,等待一個固定時間後,再執行下一次迭代(如圖3所示);dom

圖3(上一次結束後6s執行下一次迭代)

 

random方式表示上一次迭代執行結束 ,等待一個隨機時間後,再執行下一次迭代,隨機時間範圍爲設置的範圍(如圖4所示)。   

                                                                               

圖4(設置的隨機範圍爲1~4s)

 

at fixed/random intervals。表示上一次迭代開始到下一次迭代開始之間的時間間隔,若是設置的時間達到後不管上一次迭代執行是否完成,到達規定的時間就開始執行下一次迭代,包含fixed和random兩種方式。fixed表示一個固定的時間長度;random表示一個隨機的時間長度,隨機值範圍爲設置的範圍。

圖5(設置固定時間長度2s,上一次開始後2s執行下一次迭代)

    綜合上述能夠看出第一種選擇對服務器的壓力最大,由於這個選項在單位時間內所作的業務數最多,即單位時間內提交的請求數最多,因此服務器的壓力最大。所以若是進行壓力測試時,能夠須要該選項。

三、General /Log 選項卡

    主要用於設置腳本回放時的日誌格式。LR一共包括4類日誌文件,即

replay log(回放日誌):是腳本回放時lr記錄的日誌信息,包括客戶端與服務器之間的通訊日誌和HTML源碼錄製時的快照信息,但該日誌信息的內容取決於log選項卡中extended log選項的設置狀況。

recording log(錄製日誌):是錄製腳本時產生的日誌,主要是客戶端和服務器端通訊時的一些交互信息。

correlation results(關聯結果):是當腳本須要關聯時,在回放腳本過程當中會記錄錄製和回放時須要關聯內容的值。

generation log(生成日誌):腳本生成時產生的日誌。

  Enable Logging:是否啓動日誌功能 ,即在場景運行過程當中是否收集日誌信息。

Log options 
     Send messages only when an error occurs: 當腳本回放時出現錯誤信息時才收集日誌,也即只收集錯誤日誌信息。
     Always send messages :收集全部日誌信息,不論是正確的仍是錯誤的日誌信息。

Log message at the detail level of 日誌的詳細內容:

       Standard log 標準的日誌文件
    Extended log擴展的日誌文件:
      Parameter substitution 表示客戶提交給服務器端的全部參數會記錄在日誌文件中。
      Data returned by server 表示不只包括Parameter substitution的信息,還包括服務器返回到客戶端的信息也會被記錄。
      Advanced trace 表示全部客戶端提交和服務器返回的信息都會被記錄。
通常狀況將日誌信息設置爲擴展的Parameter substitution便可 ,若是選擇其餘的兩種,那麼產生的日誌信息會不少,這樣日誌文件很大。

四、General /Think Time 選項卡

    用來設置用戶操做的思考時間(思考時間是指每一個HTTP請求之間的時間間隔)

  ignore think time:運行腳本時忽略思考時間,即上一個HTTP請求結束後,直接運行下一下HTTP請求,不等待。

  replay think time:設置腳本回放時思考時間,包括as recorded、multiply record think time by 和use random percentage of recorded think time三種方式。

  as recorded:按錄製時的思考時間來回放,即若是錄製時間思考時間爲9s,那麼回放時也按9s來計算(如圖6所示):

圖6

 

  multiply record think time by :根據錄製時思考時間的整數倍來運行(如圖7所示):

圖7(按錄製思考時間的2倍來回放)

 

  use random percentage of recorded think time:分別設置一個最大值和一個最小值,並從中選出一個隨機值,在實際使用過程當中通常會選擇這種模式,設置最小值爲50%,最大值爲150%(如圖8):

圖8(按錄製思考時間的0.5~1.5倍來回放)

 

  limit think time to:設置think time的最大值。若是上面的設置項,在回放時使用的思考時間超過所限制的時間,那麼以該限制時間爲準進行回放(如圖9所示):

 

圖9(限制思考時間爲3s)

    綜合上面的狀況,設置爲忽略思考時間時,對服務器的壓力最大,由於在一樣的場景執行時間內,HTTP請求之間的時間縮短說明向服務器提交的請求數增多了,因此服務器的壓力增長,若是進行壓力測試時,能夠選擇該項設置。

五、General /Additional attributes 選項卡

  添加一些不是系統原本就有的屬性參數,能夠得到不一樣客戶端的值。  

六、General /Miscellaneous 選項卡

  是一個複合選項,涉及的功能比較複雜,包括3個設置項:

Error Handing  (表示腳本運行出現錯誤時所採起的措施,默認使用缺省值):

  continue on error:即便遇到錯誤也繼續執行腳本. 

  Fail open transactions on lr_error_message: 當lr_error_message這個函數被transaction內部的腳本調用的時候,沒法打開全部的transaction

  Generate snapshot on error:當遇到error的時候就自動產生快照.  

Multithreading (表示運行時把虛擬用戶看成進程仍是線程來處理):

     Run Vuser as a process:把每一個vuser的運行當成一個進程. 
  Run Vuser as a thread:容許多線程,而且每一個generator能夠運行多個 vuser.
在工做中應該分析系統在客戶端以進程仍是線程運行,再來判斷選哪一個設置項。
注意:當以進程方式運行虛擬用戶時,在負載機中的任務管理器中能夠看到,每一個虛擬用戶纔會產生一個進程,進程名爲mmdrv.exe,若是以線程的方式運行時,任務管理器中則不會有這個進行,而且每一個進程都須要消耗資源,經過這項數據能夠計算出每臺負載機最多能夠併發多少虛擬用戶數。

 Automatic Transactions(設置事務的模式): 

  define each action as a transaction:自動把每一個action看成一個事務. 
  define each step as a transaction:自動把每個步驟當成一個事務.  

七、Network / Speed Simulation 選項卡

  Use maximum bandwidth:全部Vusers使用系統容許的最大網速,該項爲缺省選項。 
  Use bandwidth:能夠在預約義好的下拉框中選則Vusers使用的最大帶寬限制。
  Use custom bandwidth(bps):手動輸入Vusers使用的最大帶寬限制。帶寬單位爲bits。 

八、Browser / Browser Emulation 選項卡

  Simulate browser cache:配置Vuser模擬帶緩存的瀏覽器。缺省緩存是被容許的,能夠經過禁止該選項來使得全部VUser模擬的瀏覽器都不帶緩存。

  Cache URLs requiring content(HTMLs):設置瀏覽器緩存URL的上下文(好比,HTML語法,認證或校驗等),其餘的URL的上下文不會被緩存,以減小內存使用。能夠經過點擊Advance來定義須要上下文的URLs。 

  Check for newer versions of stored pages every visit to the page:經過在header中添加If-Modified-Sinces屬性來設置瀏覽器檢查比當前存儲在緩存中特定URL更新的資源。缺省狀況下,瀏覽器不會自動檢測更新的資源。 

  Download non-HTML resources:設置Vusers在刷新網頁時下載圖片。 當real users訪問網頁時,須要等待圖片的加載完成。若是用戶想要測試整個系統,包括終端用戶時間,則須要勾上該選項。若是須要提升性能且不須要模擬真實的用戶,則不要選該項。 

  Simulate a new user on each iteraton:設置VuGen在每一個循環的init會話結束,重啓多有的HTTP上下文。這樣使得Vuse更加真實的模擬一個新user開始一個瀏覽會話。該選項缺省是被選中的。 

  Clear cache on each iteration:當每一個循環模擬一個最新訪問站點的user時,則要選中該選項。當每個循環模擬一個最近訪問過站點的user,瀏覽器仍爲該用戶保留網頁(從前面的循環中使用緩存頁面)的狀況則不要選中該選項。 

九、Internet Protocol / Proxy 選項卡

  No proxy(direct connection to the Internet):全部的Vusers不使用代理,直接方式鏈接到互聯網。 

  Obtain the proxy setting from the default browser:全部的Vusers使用機器上運行的瀏覽器的缺省代理設置。該選項爲缺省選項。 

  Use custom proxy:全部Vusers使用本身設置的代理方式鏈接到互聯網。  

十、Internet Protocol / Preferences 選項卡

  Enable Image and text check:容許在執行期間檢查圖片或者文字的檢查點。該選項僅適用於Html類型的腳本。另外,使用該選項會使用更多的內存。所以,系統默認該項是不選的。 

     Hits Per Second and HTTP Codes:該選項用來顯示每秒點擊率以及每秒HTTP相應圖。選中後,能夠在場景運行的時候動態看到該圖,也能夠在Analysis分析中看到該圖。 

  Pages Per Second(Html Mode Only):選擇該項後,能夠產生每秒頁面圖,能夠在場景運行或者在Analysisi中看到該圖。 

  Response Byte per Second:選擇該項後,能夠產生每秒接收字節圖,能夠在場景運行或者在Analysisi中看到該圖。

  Winlnet Replay Instead of Sockets(Windows only):僅僅用於Windows操做系統,選中該項後,使用Wininet Replay 引擎。注意:該選項在Socket Replay引擎失敗後纔可使用。 

  File and Line in Automatic Transcation names:用文件名和行號給自動化的Transction命名,該選項默認是選中的,注意該項選中會使用更多的內存。 

  Critical Resource Errors As Warnings:非關鍵性的Fail做爲Warning發送。例如:頁面非關鍵的圖片沒有顯示,或者某個非關鍵的JavaScript沒有運行。該選項默認是選中的。 

  Save Snapshot Resources Locally:本地保存場景的運行情況。該選項可使用戶更快更精確的看到場景運行情況。

Options: 

     DNS Catching:保存DNS的IP地址。 

     Http Version:代表你的程序使用的Http版本。 

     Keep Alive Http Connections:容許長期保存Http鏈接,這樣可使多個需求經過相同的TCP鏈接。 

     Step Timeout Caused by Resources is a Warning:對於資源申請超時發佈Warning而不是Error。 

     Parse HTMLContent-Type:對於HTML,當反饋內容是text/html(HTML),’text/’(TEXT)或者Content-type(ANY)時才進行解析。注意:text/xml不會被解析爲XML類型。

  Accept Server-Side Compression: 代表回放的時候Server端能夠接收壓縮數據的狀況。注意,接收壓縮數據會引發額外的開銷。 

  Accept-Language request header: 能夠接受語言中以逗號分隔。 

  HTTP –Request Connect Timeout(Sec):對HTTP要求的鏈接操做時間限制,或者鏈接失敗的時間限制。 

  HTTP –Request Receive Timeout(Sec):對HTTP要求的接收時間限制,或者失敗時間限制。 

  Step download timeout(sec):一個完成的Script功能的完成時間限制,或者失敗時間限制。 

  Network buffet size:Vuser可使用的最大網絡buffer大小,默認爲12288。 

  Fixed think time upop authentication retry(mesc):模仿用戶輸入用戶名和密碼的時間。注意,這個做爲事務時間的一部分。 

  Request Zlib Headers:當送到Server的需求數據是壓縮的時,包含Zlib壓縮庫的頭部。 

  Max Number of <META Refresh> to the same page:同一個頁面能夠打開的個數。 

  GUI-Mode default block size for DOM memory allocations:默認的DOM Blocak內存分配大小,過小會出現一些額外的內存調用失敗以及操做,太大會形成內存浪費。 

  GUI-Mode single setTimeout/setInterval thresh hold:超過了SetTimeout設置的值,SetInterval的設置無效。該設置模擬了用戶在等待超過必定時間後會點擊下一個元素。

  GUI-Mode Accumulative setTimeout/setInterval threshold:超過了SetTimeout設置的值,忽略SetInterval。

  GUI-Mode fail on javascript error:對於Javacript的錯誤,若是選擇Yes,提交一個Fail;若是選擇No,提交一個Warning。 

  GUI-Mode History Support:是否支持歷史記錄。若是選擇Auto,則僅僅記錄第一次循環的狀況。 

  GUI-Mode Maximum history size:最到能夠保存在歷史記錄中的步驟。  

十一、Internet Protocol / Download Filters 選項卡

  若是選擇Include Only Addresses In List, 表示重放只能限制在列出的WebSite或者是hosts中。 

  Exclude Address in lists:重放地址要排除列出的Website或者是hosts。 ContentCheck: 

     Enable ContentCheck During Replay:選擇該項能夠是用戶獲得Web Server發送回的Error。

十二、Internet Protocol / ContentCheck 選項卡

  Enable ContentCheck During Replay:選擇該項能夠是用戶獲得 Web Server 發送回的 Error。

相關文章
相關標籤/搜索