本文主要講解一下run-time settings(如圖1所示)裏各設置項的具體含義(注:標紅色的選項卡是比較值得關注的,可重點看一下):javascript
圖1html
主要用來設置運行時腳本迭代的次數,迭代次數只對run部分的腳本迭代次數有影響,而對int和end部分並無影響。通常設置爲1~3次,只會影響在單位時間內客戶端向服務器提交的HTTP請求數,其餘的沒有影響。java
Insert Action:爲模塊Init, Run和End再添加Action。瀏覽器
Properties:肯定Run logic中各Action的循環順序和Iterations次數。緩存
主要用來設置腳本迭代過程當中腳本之間的時間間隔,如在第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執行下一次迭代)
綜合上述能夠看出第一種選擇對服務器的壓力最大,由於這個選項在單位時間內所作的業務數最多,即單位時間內提交的請求數最多,因此服務器的壓力最大。所以若是進行壓力測試時,能夠須要該選項。
主要用於設置腳本回放時的日誌格式。LR一共包括4類日誌文件,即
replay log(回放日誌):是腳本回放時lr記錄的日誌信息,包括客戶端與服務器之間的通訊日誌和HTML源碼錄製時的快照信息,但該日誌信息的內容取決於log選項卡中extended log選項的設置狀況。
recording log(錄製日誌):是錄製腳本時產生的日誌,主要是客戶端和服務器端通訊時的一些交互信息。
correlation results(關聯結果):是當腳本須要關聯時,在回放腳本過程當中會記錄錄製和回放時須要關聯內容的值。
generation log(生成日誌):腳本生成時產生的日誌。
Enable Logging:是否啓動日誌功能 ,即在場景運行過程當中是否收集日誌信息。
Log message at the detail level of 日誌的詳細內容:
用來設置用戶操做的思考時間(思考時間是指每一個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請求之間的時間縮短說明向服務器提交的請求數增多了,因此服務器的壓力增長,若是進行壓力測試時,能夠選擇該項設置。
是一個複合選項,涉及的功能比較複雜,包括3個設置項:
Error Handing (表示腳本運行出現錯誤時所採起的措施,默認使用缺省值):
continue on error:即便遇到錯誤也繼續執行腳本.
Fail open transactions on lr_error_message: 當lr_error_message這個函數被transaction內部的腳本調用的時候,沒法打開全部的transaction
Generate snapshot on error:當遇到error的時候就自動產生快照.
Multithreading (表示運行時把虛擬用戶看成進程仍是線程來處理):
Automatic Transactions(設置事務的模式):
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更新的資源。缺省狀況下,瀏覽器不會自動檢測更新的資源。
Simulate a new user on each iteraton:設置VuGen在每一個循環的init會話結束,重啓多有的HTTP上下文。這樣使得Vuse更加真實的模擬一個新user開始一個瀏覽會話。該選項缺省是被選中的。
Clear cache on each iteration:當每一個循環模擬一個最新訪問站點的user時,則要選中該選項。當每個循環模擬一個最近訪問過站點的user,瀏覽器仍爲該用戶保留網頁(從前面的循環中使用緩存頁面)的狀況則不要選中該選項。
No proxy(direct connection to the Internet):全部的Vusers不使用代理,直接方式鏈接到互聯網。
Obtain the proxy setting from the default browser:全部的Vusers使用機器上運行的瀏覽器的缺省代理設置。該選項爲缺省選項。
Use custom proxy:全部Vusers使用本身設置的代理方式鏈接到互聯網。
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:本地保存場景的運行情況。該選項可使用戶更快更精確的看到場景運行情況。
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:最到能夠保存在歷史記錄中的步驟。
若是選擇Include Only Addresses In List, 表示重放只能限制在列出的WebSite或者是hosts中。
Exclude Address in lists:重放地址要排除列出的Website或者是hosts。 ContentCheck:
Enable ContentCheck During Replay:選擇該項能夠是用戶獲得Web Server發送回的Error。
Enable ContentCheck During Replay:選擇該項能夠是用戶獲得 Web Server 發送回的 Error。