LoadRunner Controller中多使用者併發操作是怎樣進行的?
假設存在:
資料:A、B、C
虛擬使用者:Vuser1、Vuser2、Vuser3
指令碼中引數出現三次,指令碼迭代三次
怎樣取下一行資料?
Sequential:順序,所有虛擬使用者按照順序讀取資料表
Random:隨機,所有虛擬使用者隨機形式讀取資料表
Unique:唯一,所有虛擬使用者每次各取一值(不重複)
什麼時候訪問資料表完成資料更新?
Each iteration:每次迭代以後
Each occurrence:每次出現引數
Once:每出現一個虛擬使用者
例項:
順序
Sequential + Each iteration
第一次迭代 無論引數任何時候出現 Vuser1、Vuser2、Vuser3 取A
第二次迭代 無論引數任何時候出現 Vuser1、Vuser2、Vuser3 取B
第三次迭代 無論引數任何時候出現Vuser1、Vuser2、Vuser3 取C
Sequential + Each occurrence
第N次迭代 引數第一次出現 Vuser1、Vuser2、Vuser3 取A
第N次迭代 引數第二次出現 Vuser1、Vuser2、Vuser3 取B
第N次迭代 引數第三次出現 Vuser1、Vuser2、Vuser3 取C
Sequential + Once
第N次迭代 無論引數任何時候出現 Vuser1取A Vuser2取B Vuser3取C
隨機
Random + Each iteration
第N次迭代 無論遇到該引數多少次 Vuser1都只取A,或者B,又或者C,本次迭代不再更新
第N次迭代 無論遇到該引數多少次 Vuser2都只取A,或者B,又或者C,本次迭代不再更新
第N次迭代 無論遇到該引數多少次 Vuser3都只取A,或者B,又或者C,本次迭代不再更新
在N+1次迭代,每個Vuser重新隨機抽取資料
Random + Each occurrence
第N次迭代 第一次遇到該引數 Vuser1、Vuser2、Vuser3在A、B、C中隨機抽取一個
第N次迭代 第二次遇到該引數 Vuser1、Vuser2、Vuser3重新在A、B、C中隨機抽取一個
第N次迭代 第三次遇到該引數 Vuser1、Vuser2、Vuser3重新在A、B、C中隨機抽取一個
在N+1次迭代,每個Vuser繼續保持每遇到一次引數就重新抽取一次資料
Random + Once
第N次迭代 無論遇到該引數多少次 Vuser1都只取A,或者B,又或者C
第N次迭代 無論遇到該引數多少次 Vuser2都只取A,或者B,又或者C
第N次迭代 無論遇到該引數多少次 Vuser3都只取A,或者B,又或者C
在N+1次迭代,每個Vuser不會重新抽取資料
唯一
注意:使用該Unique型別必須注意資料表有足夠多的數。
比如Controller 中設定20 個虛擬使用者進行5 次迴圈,那麼編號為1 的虛擬使用者取前5個數,編號為2 的虛擬使用者取6-10 的數,依次類推,這樣資料表中至少要有100個資料,否則Controller 執行過程中會返回一個錯誤。
因此以下例子在資料表中加入資料D、E、F、G、H、I。
Unique + Each iteration
第一次迭代 無論引數出現多少次 Vuser1取A Vuser2取D Vuser3取G
第二次迭代 無論引數出現多少次 Vuser1取B Vuser2取E Vuser3取H
第三次迭代 無論引數出現多少次 Vuser1取C Vuser2取F Vuser3取I
Unique + Each occurrence
第一次迭代 第一次出現該引數 Vuser1取A Vuser2取D Vuser3取G
第一次迭代 第二次出現該引數 Vuser1取B Vuser2取E Vuser3取H
第一次迭代 第三次出現該引數 Vuser1取C Vuser2取F Vuser3取I
Unique + Once
無論進行多少次迭代 無論引數任何時候出現 Vuser1取A Vuser2取B Vuser3取C
資料D、E、F、G、H、I不取
Reference:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12472709/viewspace-1043595/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- static型別引發多使用者操作併發型別
- 怎樣讓sys使用者執行exp操作
- Java的併發程式設計中的多執行緒問題到底是怎麼回事兒?Java程式設計執行緒
- 需要將多個視訊進行去色的處理怎麼樣操作比較快?
- java中多執行緒併發的處理方式Java執行緒
- JS是怎樣執行的JS
- Webpack 是怎樣執行的?Web
- Java進階篇:多執行緒併發實踐Java執行緒
- ActionCable 中怎樣使用 devise 進行驗證dev
- Webpack 是怎樣執行的?(一)Web
- 【多執行緒與高併發】從一則招聘資訊進入多執行緒的世界執行緒
- 怎麼處理WEB應用中的JAVA多執行緒問題(併發問題)WebJava執行緒
- LoadRunner中檔案操作的一個例子
- Java多執行緒/併發08、中斷執行緒 interrupt()Java執行緒
- JAVA多執行緒併發Java執行緒
- java多執行緒與併發 - 併發工具類Java執行緒
- 怎樣使用AJAX進行應用程式開發(轉)
- 更高效地提高redis client多執行緒操作的併發吞吐設計Redisclient執行緒
- 生鮮行業怎樣進行妥善的進銷存管理?行業
- 執行緒池是怎樣工作的?執行緒
- 讀《mysql是怎樣執行的》有感MySql
- 盜版是怎樣“幫助”印度遊戲行業發展的?遊戲行業
- 當我們在說“併發、多執行緒”,說的是什麼?執行緒
- 現代中央處理器(CPU)是怎樣進行分支預測的?
- 在多執行緒併發操作中處理大量檔案時,以下是一些關鍵的底層原理和技術:執行緒
- 什麼是高併發,怎麼解決高併發
- c++builder中怎樣進行標準輸入、出C++UI
- NetSuite是怎樣幫助中國使用者的UI
- java 多執行緒 併發 面試Java執行緒面試
- 這或許是最詳細的JUC多執行緒併發總結執行緒
- Java 併發和多執行緒(一) Java併發性和多執行緒介紹[轉]Java執行緒
- Java併發和多執行緒1:併發框架基本示例Java執行緒框架
- java高併發系列 - 第21天:java中的CAS操作,java併發的基石Java
- Java多執行緒--併發和並行的區別Java執行緒並行
- MySQL 到底是如何做到多版本併發的?MySql
- 求教:jboss對多執行緒併發的支援執行緒
- 遊戲手柄是怎麼進化到今天這樣的?遊戲
- python3.13 有人使用了嗎?多併發使用起來怎麼樣呢?Python