SlideShare a Scribd company logo
1 of 20
How to use VTS with LR
Kranthi Paidi
1
What is VTS
2
 VTS – Virtual Table Server
 A windows service which maintains an in memory database that can be accessed
by a number of load generators on a network
 VTS helps different data dependent scripts “talk-to” each other during a load test
 Unlike the parameter files which involves file operation in order to be changed
once the test starts and thus bringing in concurrency issues, VTS holds and shares
the values that “producer” scripts generate so that “consumer” scripts can act
upon the data.
 For example, if a script called Add_Issue generates an Issue ID which is assigned to
a particular user, using VTS, this Issue ID can be “inserted” into a “table” during run
time and “retrieved” by Close_Issue script by that particular user.
 Thus, VTS can be treated (and is a kind of) database.
 The only difference here is that you cannot “query” this database. For example,
you cannot write a query like “select * from table_1 where user_ID=“kpaidi””
 HP LoadRunner does not “officially” provide any support to VTS. This is a third
party “add-in” that you have to use by yourself.
What is VTS
3
 Even though HP does not support this tool, thousands of users have used this and
are still using it without any problems.
 The last available version is VTS 2. This is no longer being developed, but, VTS2 is
completely stable and has no issues reported over a significant time.
 Attached in this slide is VTS.rar which has all setup files required.
VTS
Installing VTS
4
 Minimum system requirements:
 A 1-CPU 300Mhz+ Windows NT/2000
 The total amount of data that VTS supports is limited by the Operating System’s
maximum limit on process memory (2Gig to 3 Gig)
 VTS is tested for 1 million entries per row. It supports only 32,767 rows
 VTS should be installed on your controller(s) and all load generators that you intend
to make use of in your load test.
 For each machine, do the following:
 Extract the zip file and click vtsinstall.exe
 VTS automatically selects “C:Program FilesHPLoadRunner as installation directory
 Select install
 Open cmd prompt with elevated privileges
 Cd to “C:Program FilesHPLoadRunnerbin”
 Type regsvr32.exe vtsctls.ocx
 Type regsvr32.exe msflxgrd.exe
Setting up the Server
5
 If your tests involve large data creation and consumption, please plan to have a
separate machine as VTS server other than controller and load generator. Working
on large sets of data will have its impact on the memory and network bandwidth
thus affecting the load generators and controller. You do not want to introduce
bottlenecks in the test design itself.
 If your tests have minimal amount of data being operated up on (not more than a
few MB), choose a less utilized load generator.
 Whatever the machine you choose, determine the physical IP of the machine using
“ipconfig /all” command from cmd prompt.
 Once you determined the IP, check what ports are available on the machine. Use
the command “netstat –an”. Choose a port that is available (I am choosing 8888
here)
 Once you do the above, open a notepad and type the following
 ECHO ON
 CD “C:Program FilesHPLoadRunnerbin”
 START vtconsole –port 8888 –launch
Setting up the Server
6
 Save the notepad as “START_VTS.bat” on a location you prefer (I prefer Desktop)
 Click the batch file. You should see a window like this –
Setting up the Server
7
 Your VTS server is UP and READY now. You can use this as a database to store and
retrieve values during a scenario run.
 In the next few slides, we will see how to connect to a VTS from a VUGen script,
how to write data, how to retrieve data and error handling.
Connecting to VTS from VUGen
8
 Include the following at the top of vuser_init, action, vuser_end sections
 #include “as_web.h”
 #include “vts2.h”
 Your init, action and end sections will look like this –
 In the vuser init section, write the following code to connect to VTS
Connecting to VTS from VUGen
9
 In the vuser_end section, write the following code. This disconnects the
vuser from vtc.
 If your VTS is up and running (remember the START_VTS.bat?), running
the above VuGen code should not write any messages to the output
screen. It should look like below:
Connecting to VTS from VUGen – Error Codes
10
 If you have any problems with VTS, the following error codes are returned:
 #define VTCERR_INVALID_CONNECTION_INFO -10000 > verify the server name attribute.
 #define VTCERR_FAILED_TO_RESOLVE_ADDR -10001
 #define VTCERR_FAILED_TO_CREATE_SOCKET -10002
 #define VTCERR_FAILED_TO_CONNECT -10003 > the vtconsole is not running.
 #define VTCERR_INCOMPLETE_REQUEST -10100
 #define VTCERR_FAILED_TO_RECV_RESPONSE -10101
 #define VTCERR_INCOMPLETE_RESPONSE -10102
 #define VTCERR_RESPONSE_ARGS_UNMATCH -10103
 #define VTCERR_OPERATION_ERROR_BASE -11000
Writing data into the server - example
11
Data Manipulation in VTS
12
 Insert Data Element:
 Inserts operation data into the column specified by column name
 Insert Unique Data:
 Inserts operation data only if the data is unique
 Update Data Element:
 Updates the value of data element in the column name at selected location
 Increment Data Element:
 Increments the numerical data element in the column name at selected location by the number
specified
 Query data element:
 Obtains the value of the data element in the column name at location specified
 Clear Data Value:
 Clears the data in the column name at location specified
 Clear Entire Column:
 Clears the entire column
Client side API – LR functions
13
 VTS supports two types of functions. Raw VTS functions and LR version of the same
functions. The definitions for both the type of functions are available in vts2.
 We will discuss and see only LR version of the fuctions
 Connect/Disconnect:
 PVCI lrvtc_connect(char *servername, int portnum, int options);
 Options: 0 for None, VTOPT_KEEP_ALIVE for keep connection alive
 PVCI is a typedef int variable
 lrvtc_disconnect();
 Query a Column: retrieves data from a Column specified by name and index
 lrvtc_query_column(char *ColumnName, int RowIndex);
 Query a Row: retrieves data from all columns in a row specified by row index
 lrvtc_query_row(int RowIndex);
Client side API – LR functions
14
 Send data to a column: sends data to the next row of the column specified
 lrvtc_send_message(char *columnName, char *columnValue);
 Send unique data to a column : sends a data to the next row of column only if it is
unique in that column
 lrvtc_send_if_unique(char *columnName, char *columnValue);
 Returns 1 for pass and 0 for fail
Client side API – LR functions
15
 Send entire row: Sends data into a row with specified column names
 lrvtc_send_row1(char *columnNames, char *messages, char *delimiter, unsigned char
sendflag);
 Status code returned PVCI 1=pass, 0=fail
 Update data: Updates data at specified column and index
 lrvtc_update_message(char *columnName, int Index, char *message);
Client side API – LR functions
16
 Update entire row: Updates row data at specified column index
 lrvtc_update_row1(char *columnNames, int index, char *messages, char *delimiter);
 Clear Message: Clears the data at specified column and Index
 lrvtc_clear_message(char *columnName, int index);
Client side API – LR functions
17
 Clear Column: Clears all data in the given Column
 lrvtc_clear_column(char *columnName);
 Clear row: Clears all data in a row of specified index
 lrvtc_clear_row(int index);
Client side API – LR functions
18
 Retrieve message: retrieves and clears the first data element from a column
 lrvtc_retrieve_message(char *columnName);
Client side API – LR functions
19
 Retrieve multiple messages: retrieves and clears the first data element from a row
as specified by column names
 lrvtc_retrieve_messages1(char *columnNames, char *delimiter);
Thank You
20

More Related Content

What's hot

Infographic: Importance of Performance Testing
Infographic: Importance of Performance TestingInfographic: Importance of Performance Testing
Infographic: Importance of Performance TestingKiwiQA
 
Performance Testing
Performance TestingPerformance Testing
Performance TestingSelin Gungor
 
Non Functional Testing
Non Functional TestingNon Functional Testing
Non Functional TestingNishant Worah
 
Performance Testing And Its Type | Benefits Of Performance Testing
Performance Testing And Its Type | Benefits Of Performance TestingPerformance Testing And Its Type | Benefits Of Performance Testing
Performance Testing And Its Type | Benefits Of Performance TestingKostCare
 
2015-StarWest presentation on REST-assured
2015-StarWest presentation on REST-assured2015-StarWest presentation on REST-assured
2015-StarWest presentation on REST-assuredEing Ong
 
Apache JMeter - A brief introduction
Apache JMeter - A brief introductionApache JMeter - A brief introduction
Apache JMeter - A brief introductionsilenceIT Inc.
 
[Final] ReactJS presentation
[Final] ReactJS presentation[Final] ReactJS presentation
[Final] ReactJS presentation洪 鹏发
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance Webtech Learning
 
Enterprise java unit-1_chapter-1
Enterprise java unit-1_chapter-1Enterprise java unit-1_chapter-1
Enterprise java unit-1_chapter-1sandeep54552
 
Performance testing
Performance testing Performance testing
Performance testing BugRaptors
 
Software Testing Interview Q&A – part 1
Software Testing Interview Q&A – part 1Software Testing Interview Q&A – part 1
Software Testing Interview Q&A – part 1Khoa Bui
 
API Automation Testing Using RestAssured+Cucumber
API Automation Testing Using RestAssured+CucumberAPI Automation Testing Using RestAssured+Cucumber
API Automation Testing Using RestAssured+CucumberKnoldus Inc.
 
Performance testing
Performance testingPerformance testing
Performance testingJyoti Babbar
 
Getting Started With Cypress
Getting Started With CypressGetting Started With Cypress
Getting Started With CypressKnoldus Inc.
 
QA. Load Testing
QA. Load TestingQA. Load Testing
QA. Load TestingAlex Galkin
 

What's hot (20)

Infographic: Importance of Performance Testing
Infographic: Importance of Performance TestingInfographic: Importance of Performance Testing
Infographic: Importance of Performance Testing
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
 
Non Functional Testing
Non Functional TestingNon Functional Testing
Non Functional Testing
 
Rest API
Rest APIRest API
Rest API
 
QSpiders - Automation using Selenium
QSpiders - Automation using SeleniumQSpiders - Automation using Selenium
QSpiders - Automation using Selenium
 
React Native
React NativeReact Native
React Native
 
Performance Testing And Its Type | Benefits Of Performance Testing
Performance Testing And Its Type | Benefits Of Performance TestingPerformance Testing And Its Type | Benefits Of Performance Testing
Performance Testing And Its Type | Benefits Of Performance Testing
 
2015-StarWest presentation on REST-assured
2015-StarWest presentation on REST-assured2015-StarWest presentation on REST-assured
2015-StarWest presentation on REST-assured
 
Apache JMeter - A brief introduction
Apache JMeter - A brief introductionApache JMeter - A brief introduction
Apache JMeter - A brief introduction
 
[Final] ReactJS presentation
[Final] ReactJS presentation[Final] ReactJS presentation
[Final] ReactJS presentation
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
 
JMeter Intro
JMeter IntroJMeter Intro
JMeter Intro
 
Performance testing
Performance testingPerformance testing
Performance testing
 
Enterprise java unit-1_chapter-1
Enterprise java unit-1_chapter-1Enterprise java unit-1_chapter-1
Enterprise java unit-1_chapter-1
 
Performance testing
Performance testing Performance testing
Performance testing
 
Software Testing Interview Q&A – part 1
Software Testing Interview Q&A – part 1Software Testing Interview Q&A – part 1
Software Testing Interview Q&A – part 1
 
API Automation Testing Using RestAssured+Cucumber
API Automation Testing Using RestAssured+CucumberAPI Automation Testing Using RestAssured+Cucumber
API Automation Testing Using RestAssured+Cucumber
 
Performance testing
Performance testingPerformance testing
Performance testing
 
Getting Started With Cypress
Getting Started With CypressGetting Started With Cypress
Getting Started With Cypress
 
QA. Load Testing
QA. Load TestingQA. Load Testing
QA. Load Testing
 

Viewers also liked

Dot Net performance monitoring
 Dot Net performance monitoring Dot Net performance monitoring
Dot Net performance monitoringKranthi Paidi
 
20 Habits That Hold Us Back
20 Habits That Hold Us Back20 Habits That Hold Us Back
20 Habits That Hold Us BackLeena Sahu
 
Java Performance Engineer's Survival Guide
Java Performance Engineer's Survival GuideJava Performance Engineer's Survival Guide
Java Performance Engineer's Survival GuideMonica Beckwith
 
GC Tuning Confessions Of A Performance Engineer
GC Tuning Confessions Of A Performance EngineerGC Tuning Confessions Of A Performance Engineer
GC Tuning Confessions Of A Performance EngineerMonica Beckwith
 
Standard Treasury Series A Pitch Deck
Standard Treasury Series A Pitch DeckStandard Treasury Series A Pitch Deck
Standard Treasury Series A Pitch DeckZachary Townsend
 
TouristEye - Personalizing The Travel Experience - 500 Startups
TouristEye - Personalizing The Travel Experience - 500 StartupsTouristEye - Personalizing The Travel Experience - 500 Startups
TouristEye - Personalizing The Travel Experience - 500 Startups500 Startups
 
Garbage First Garbage Collector: Where the Rubber Meets the Road!
Garbage First Garbage Collector: Where the Rubber Meets the Road!Garbage First Garbage Collector: Where the Rubber Meets the Road!
Garbage First Garbage Collector: Where the Rubber Meets the Road!Monica Beckwith
 
Square pitch deck
Square pitch deckSquare pitch deck
Square pitch deckpitchenvy
 
500’s Demo Day Batch 12 >> Alfred
500’s Demo Day Batch 12 >> Alfred500’s Demo Day Batch 12 >> Alfred
500’s Demo Day Batch 12 >> Alfred500 Startups
 
BrandBoards demo day pitch deck
BrandBoards demo day pitch deckBrandBoards demo day pitch deck
BrandBoards demo day pitch deck500 Startups
 
300 Milligrams - Demo Day Presentation
300 Milligrams - Demo Day Presentation300 Milligrams - Demo Day Presentation
300 Milligrams - Demo Day Presentation500 Startups
 
Pitch deck for Kejahunt
Pitch deck for KejahuntPitch deck for Kejahunt
Pitch deck for KejahuntJoshua Mutua
 
Kickfolio - 500Startups Batch 5
Kickfolio - 500Startups Batch 5Kickfolio - 500Startups Batch 5
Kickfolio - 500Startups Batch 5500 Startups
 

Viewers also liked (20)

Dot Net performance monitoring
 Dot Net performance monitoring Dot Net performance monitoring
Dot Net performance monitoring
 
20 Habits That Hold Us Back
20 Habits That Hold Us Back20 Habits That Hold Us Back
20 Habits That Hold Us Back
 
Java Performance Engineer's Survival Guide
Java Performance Engineer's Survival GuideJava Performance Engineer's Survival Guide
Java Performance Engineer's Survival Guide
 
GC Tuning Confessions Of A Performance Engineer
GC Tuning Confessions Of A Performance EngineerGC Tuning Confessions Of A Performance Engineer
GC Tuning Confessions Of A Performance Engineer
 
Standard Treasury Series A Pitch Deck
Standard Treasury Series A Pitch DeckStandard Treasury Series A Pitch Deck
Standard Treasury Series A Pitch Deck
 
TouristEye - Personalizing The Travel Experience - 500 Startups
TouristEye - Personalizing The Travel Experience - 500 StartupsTouristEye - Personalizing The Travel Experience - 500 Startups
TouristEye - Personalizing The Travel Experience - 500 Startups
 
Garbage First Garbage Collector: Where the Rubber Meets the Road!
Garbage First Garbage Collector: Where the Rubber Meets the Road!Garbage First Garbage Collector: Where the Rubber Meets the Road!
Garbage First Garbage Collector: Where the Rubber Meets the Road!
 
Square pitch deck
Square pitch deckSquare pitch deck
Square pitch deck
 
task.ly pitch deck
task.ly pitch decktask.ly pitch deck
task.ly pitch deck
 
Kibin
Kibin Kibin
Kibin
 
Binpress
BinpressBinpress
Binpress
 
Sverve
SverveSverve
Sverve
 
LaunchRock
LaunchRockLaunchRock
LaunchRock
 
500’s Demo Day Batch 12 >> Alfred
500’s Demo Day Batch 12 >> Alfred500’s Demo Day Batch 12 >> Alfred
500’s Demo Day Batch 12 >> Alfred
 
BrandBoards demo day pitch deck
BrandBoards demo day pitch deckBrandBoards demo day pitch deck
BrandBoards demo day pitch deck
 
300 Milligrams - Demo Day Presentation
300 Milligrams - Demo Day Presentation300 Milligrams - Demo Day Presentation
300 Milligrams - Demo Day Presentation
 
PinMyPet
PinMyPetPinMyPet
PinMyPet
 
Pitch deck for Kejahunt
Pitch deck for KejahuntPitch deck for Kejahunt
Pitch deck for Kejahunt
 
Daily hundred Pitch Deck 2014
Daily hundred Pitch Deck 2014Daily hundred Pitch Deck 2014
Daily hundred Pitch Deck 2014
 
Kickfolio - 500Startups Batch 5
Kickfolio - 500Startups Batch 5Kickfolio - 500Startups Batch 5
Kickfolio - 500Startups Batch 5
 

Similar to How to use VTS with loadrunner

Simple ado program by visual studio
Simple ado program by visual studioSimple ado program by visual studio
Simple ado program by visual studioAravindharamanan S
 
Simple ado program by visual studio
Simple ado program by visual studioSimple ado program by visual studio
Simple ado program by visual studioAravindharamanan S
 
Workshop: Building a Streaming Data Platform on AWS
Workshop: Building a Streaming Data Platform on AWSWorkshop: Building a Streaming Data Platform on AWS
Workshop: Building a Streaming Data Platform on AWSAmazon Web Services
 
Merged document
Merged documentMerged document
Merged documentsreeja_16
 
Asp net interview_questions
Asp net interview_questionsAsp net interview_questions
Asp net interview_questionsGhazi Anwar
 
Asp net interview_questions
Asp net interview_questionsAsp net interview_questions
Asp net interview_questionsBilam
 
Technical Report Vawtrak v2
Technical Report Vawtrak v2Technical Report Vawtrak v2
Technical Report Vawtrak v2Blueliv
 
IoT with OpenPicus Flyport
IoT with OpenPicus FlyportIoT with OpenPicus Flyport
IoT with OpenPicus FlyportIonela
 
Load Balancer Device and Configurations.
Load Balancer Device and Configurations.Load Balancer Device and Configurations.
Load Balancer Device and Configurations.Web Werks Data Centers
 
communicate with instrument by using lan
communicate with instrument by using lancommunicate with instrument by using lan
communicate with instrument by using lanAbdosalam Arif
 
Principles of Computer System Design
Principles of Computer System DesignPrinciples of Computer System Design
Principles of Computer System DesignYing(Doris) WANG
 
Network Setup Guide: Deploying Your Cloudian HyperStore Hybrid Storage Service
Network Setup Guide: Deploying Your Cloudian HyperStore Hybrid Storage ServiceNetwork Setup Guide: Deploying Your Cloudian HyperStore Hybrid Storage Service
Network Setup Guide: Deploying Your Cloudian HyperStore Hybrid Storage ServiceCloudian
 
C sharp and asp.net interview questions
C sharp and asp.net interview questionsC sharp and asp.net interview questions
C sharp and asp.net interview questionsAkhil Mittal
 

Similar to How to use VTS with loadrunner (20)

Simple ado program by visual studio
Simple ado program by visual studioSimple ado program by visual studio
Simple ado program by visual studio
 
Simple ado program by visual studio
Simple ado program by visual studioSimple ado program by visual studio
Simple ado program by visual studio
 
Workshop: Building a Streaming Data Platform on AWS
Workshop: Building a Streaming Data Platform on AWSWorkshop: Building a Streaming Data Platform on AWS
Workshop: Building a Streaming Data Platform on AWS
 
XenApp Load Balancing
XenApp Load BalancingXenApp Load Balancing
XenApp Load Balancing
 
V sphere perf_charts
V sphere perf_chartsV sphere perf_charts
V sphere perf_charts
 
Merged document
Merged documentMerged document
Merged document
 
Asp net interview_questions
Asp net interview_questionsAsp net interview_questions
Asp net interview_questions
 
Asp net interview_questions
Asp net interview_questionsAsp net interview_questions
Asp net interview_questions
 
TO Hack an ASP .NET website?
TO Hack an ASP .NET website?  TO Hack an ASP .NET website?
TO Hack an ASP .NET website?
 
Hack ASP.NET website
Hack ASP.NET websiteHack ASP.NET website
Hack ASP.NET website
 
Technical Report Vawtrak v2
Technical Report Vawtrak v2Technical Report Vawtrak v2
Technical Report Vawtrak v2
 
IoT with OpenPicus Flyport
IoT with OpenPicus FlyportIoT with OpenPicus Flyport
IoT with OpenPicus Flyport
 
Wcat
WcatWcat
Wcat
 
Load Balancer Device and Configurations.
Load Balancer Device and Configurations.Load Balancer Device and Configurations.
Load Balancer Device and Configurations.
 
communicate with instrument by using lan
communicate with instrument by using lancommunicate with instrument by using lan
communicate with instrument by using lan
 
Technical Note - ITME: Running StADOSvr.exe as a Service
Technical Note - ITME: Running StADOSvr.exe as a ServiceTechnical Note - ITME: Running StADOSvr.exe as a Service
Technical Note - ITME: Running StADOSvr.exe as a Service
 
Principles of Computer System Design
Principles of Computer System DesignPrinciples of Computer System Design
Principles of Computer System Design
 
Network Setup Guide: Deploying Your Cloudian HyperStore Hybrid Storage Service
Network Setup Guide: Deploying Your Cloudian HyperStore Hybrid Storage ServiceNetwork Setup Guide: Deploying Your Cloudian HyperStore Hybrid Storage Service
Network Setup Guide: Deploying Your Cloudian HyperStore Hybrid Storage Service
 
Backtrack Manual Part7
Backtrack Manual Part7Backtrack Manual Part7
Backtrack Manual Part7
 
C sharp and asp.net interview questions
C sharp and asp.net interview questionsC sharp and asp.net interview questions
C sharp and asp.net interview questions
 

Recently uploaded

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 

Recently uploaded (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 

How to use VTS with loadrunner

  • 1. How to use VTS with LR Kranthi Paidi 1
  • 2. What is VTS 2  VTS – Virtual Table Server  A windows service which maintains an in memory database that can be accessed by a number of load generators on a network  VTS helps different data dependent scripts “talk-to” each other during a load test  Unlike the parameter files which involves file operation in order to be changed once the test starts and thus bringing in concurrency issues, VTS holds and shares the values that “producer” scripts generate so that “consumer” scripts can act upon the data.  For example, if a script called Add_Issue generates an Issue ID which is assigned to a particular user, using VTS, this Issue ID can be “inserted” into a “table” during run time and “retrieved” by Close_Issue script by that particular user.  Thus, VTS can be treated (and is a kind of) database.  The only difference here is that you cannot “query” this database. For example, you cannot write a query like “select * from table_1 where user_ID=“kpaidi””  HP LoadRunner does not “officially” provide any support to VTS. This is a third party “add-in” that you have to use by yourself.
  • 3. What is VTS 3  Even though HP does not support this tool, thousands of users have used this and are still using it without any problems.  The last available version is VTS 2. This is no longer being developed, but, VTS2 is completely stable and has no issues reported over a significant time.  Attached in this slide is VTS.rar which has all setup files required. VTS
  • 4. Installing VTS 4  Minimum system requirements:  A 1-CPU 300Mhz+ Windows NT/2000  The total amount of data that VTS supports is limited by the Operating System’s maximum limit on process memory (2Gig to 3 Gig)  VTS is tested for 1 million entries per row. It supports only 32,767 rows  VTS should be installed on your controller(s) and all load generators that you intend to make use of in your load test.  For each machine, do the following:  Extract the zip file and click vtsinstall.exe  VTS automatically selects “C:Program FilesHPLoadRunner as installation directory  Select install  Open cmd prompt with elevated privileges  Cd to “C:Program FilesHPLoadRunnerbin”  Type regsvr32.exe vtsctls.ocx  Type regsvr32.exe msflxgrd.exe
  • 5. Setting up the Server 5  If your tests involve large data creation and consumption, please plan to have a separate machine as VTS server other than controller and load generator. Working on large sets of data will have its impact on the memory and network bandwidth thus affecting the load generators and controller. You do not want to introduce bottlenecks in the test design itself.  If your tests have minimal amount of data being operated up on (not more than a few MB), choose a less utilized load generator.  Whatever the machine you choose, determine the physical IP of the machine using “ipconfig /all” command from cmd prompt.  Once you determined the IP, check what ports are available on the machine. Use the command “netstat –an”. Choose a port that is available (I am choosing 8888 here)  Once you do the above, open a notepad and type the following  ECHO ON  CD “C:Program FilesHPLoadRunnerbin”  START vtconsole –port 8888 –launch
  • 6. Setting up the Server 6  Save the notepad as “START_VTS.bat” on a location you prefer (I prefer Desktop)  Click the batch file. You should see a window like this –
  • 7. Setting up the Server 7  Your VTS server is UP and READY now. You can use this as a database to store and retrieve values during a scenario run.  In the next few slides, we will see how to connect to a VTS from a VUGen script, how to write data, how to retrieve data and error handling.
  • 8. Connecting to VTS from VUGen 8  Include the following at the top of vuser_init, action, vuser_end sections  #include “as_web.h”  #include “vts2.h”  Your init, action and end sections will look like this –  In the vuser init section, write the following code to connect to VTS
  • 9. Connecting to VTS from VUGen 9  In the vuser_end section, write the following code. This disconnects the vuser from vtc.  If your VTS is up and running (remember the START_VTS.bat?), running the above VuGen code should not write any messages to the output screen. It should look like below:
  • 10. Connecting to VTS from VUGen – Error Codes 10  If you have any problems with VTS, the following error codes are returned:  #define VTCERR_INVALID_CONNECTION_INFO -10000 > verify the server name attribute.  #define VTCERR_FAILED_TO_RESOLVE_ADDR -10001  #define VTCERR_FAILED_TO_CREATE_SOCKET -10002  #define VTCERR_FAILED_TO_CONNECT -10003 > the vtconsole is not running.  #define VTCERR_INCOMPLETE_REQUEST -10100  #define VTCERR_FAILED_TO_RECV_RESPONSE -10101  #define VTCERR_INCOMPLETE_RESPONSE -10102  #define VTCERR_RESPONSE_ARGS_UNMATCH -10103  #define VTCERR_OPERATION_ERROR_BASE -11000
  • 11. Writing data into the server - example 11
  • 12. Data Manipulation in VTS 12  Insert Data Element:  Inserts operation data into the column specified by column name  Insert Unique Data:  Inserts operation data only if the data is unique  Update Data Element:  Updates the value of data element in the column name at selected location  Increment Data Element:  Increments the numerical data element in the column name at selected location by the number specified  Query data element:  Obtains the value of the data element in the column name at location specified  Clear Data Value:  Clears the data in the column name at location specified  Clear Entire Column:  Clears the entire column
  • 13. Client side API – LR functions 13  VTS supports two types of functions. Raw VTS functions and LR version of the same functions. The definitions for both the type of functions are available in vts2.  We will discuss and see only LR version of the fuctions  Connect/Disconnect:  PVCI lrvtc_connect(char *servername, int portnum, int options);  Options: 0 for None, VTOPT_KEEP_ALIVE for keep connection alive  PVCI is a typedef int variable  lrvtc_disconnect();  Query a Column: retrieves data from a Column specified by name and index  lrvtc_query_column(char *ColumnName, int RowIndex);  Query a Row: retrieves data from all columns in a row specified by row index  lrvtc_query_row(int RowIndex);
  • 14. Client side API – LR functions 14  Send data to a column: sends data to the next row of the column specified  lrvtc_send_message(char *columnName, char *columnValue);  Send unique data to a column : sends a data to the next row of column only if it is unique in that column  lrvtc_send_if_unique(char *columnName, char *columnValue);  Returns 1 for pass and 0 for fail
  • 15. Client side API – LR functions 15  Send entire row: Sends data into a row with specified column names  lrvtc_send_row1(char *columnNames, char *messages, char *delimiter, unsigned char sendflag);  Status code returned PVCI 1=pass, 0=fail  Update data: Updates data at specified column and index  lrvtc_update_message(char *columnName, int Index, char *message);
  • 16. Client side API – LR functions 16  Update entire row: Updates row data at specified column index  lrvtc_update_row1(char *columnNames, int index, char *messages, char *delimiter);  Clear Message: Clears the data at specified column and Index  lrvtc_clear_message(char *columnName, int index);
  • 17. Client side API – LR functions 17  Clear Column: Clears all data in the given Column  lrvtc_clear_column(char *columnName);  Clear row: Clears all data in a row of specified index  lrvtc_clear_row(int index);
  • 18. Client side API – LR functions 18  Retrieve message: retrieves and clears the first data element from a column  lrvtc_retrieve_message(char *columnName);
  • 19. Client side API – LR functions 19  Retrieve multiple messages: retrieves and clears the first data element from a row as specified by column names  lrvtc_retrieve_messages1(char *columnNames, char *delimiter);