The Virtual Table Server (VTS) is an in-memory database that can be used to share data between virtual users. I have found this useful when I need my VUsers to pass data to each other; it’s certainly a much neater solution than writing to a file and having each VUser check the value in the file on every iteration.
Here is what the documentation has to say about it…
VTS Virtual Table Server (version 2.10)
Virtual Table Server (VTS) first edition, introduced the capability for LoadRunner virtual users, WinRunner and XRunner, to communicate in real time. Data extraction and communication was simplified but limited to column/queue level operations. The new Virtual Table Server II provides a higher degree of data manipulation and 5-10 times better performance. From row level queries, retrievals, updates, insertions, unqueue entries, to database access, VTS II provides the functionality and ease for enhanced inter-process, inter-virtual user communication
One of the limitations of LoadRunner is that a parameter file cannot be shared between different scripts, or between instances of the same script running on different load generators. VTS is an easy way to maintain a single data pool. This is less of a problem if you are using Performance Center, as it is smart enough to allow the same script to run on multiple generators and still maintain the “Select next row: unique” property.
Another limitation that the VTS solves is the ability to maintain information about which data values have been used *between* runs. If you have a script that consumes data (maybe it deletes records), data values can only be used once. This means that every time you run the script, you have to update the data file. Using VTS, you can mark the data as “dirty”, so the next time the script is run, it will use a different value.
Virtual Table Server (version 2) can be downloaded from the Mercury Support website. Note that even though the software is provided by Mercury, it is not officially supported.
Installation is simple, and the server can be configured to run on any port. The API and examples provided with the software work with C-based scripts. A Java API is also provided. JavaScript and VBScript vuser types are not supported.
The API is simple, but unfortunately does not allow you to write SQL queries; instead you must use the functions provided, like lrvtc_retrieve_row() and lrvtc_query_row(). Finally, the VTS can import from and export to a regular database (anything with an ODBC driver), or a text file.
This is a useful tool for anyone who uses LoadRunner to be aware of.
21 Comments
Comments are closed.
Just a final note…
Wilson Mar has written a good introduction to the Virtual Table Server.
Also, be sure to read the documentation that comes with the software, and search the Mercury Support Knowledge Base and Discussion Forums for any additional tips.
Good post, I’ve been meaning to play with this tool for some time but never seem to get to it.
Also check out this presentation from Otto Strickland some years ago:
http://www.loadtester.com/whitepapers/Otto_Strickland_Using_VTS.pdf
Scott Moore
http://www.loadtester.com
Thanks to Stuart Moncrieff for pointing me into this direction ant to Mar Wilson’s write-up. This is the exact solution to the problem I am currently facing.
Do you have some scripts using this technique to solve some complex problem? For example, make each virtual user take a single value while executing the scripts in Controller?
VTS only allows approximately 63 columns. Beyond 63, it returns a pointer to an empty array.
Very informative article. Well Done !
Could you show me the link to download it(VTS)?.
Hi every one the page is informative and further Scott Moore your post is quite helpful and the document even.
how i can navigate to mercury virtual table server
Hi All,
Can we use VTS in QTP based automation as well?
that is, can we use VTS for QTP parameterization?
Where to download it ?
Could you show me the link to download it(VTS)?.
Anyone have examples of connecting to VTS with JAVA script?
Could you please point me to the source where I can download the VTS installation files, I am unable to find in HP support site too..
your help is highly appreciated
Can you please tell if VTS2’s inter vuser communication can be recorded through .NET protocol?
http://support.openview.hp.com/selfsolve/document/KM450195?searchIdentifier=4a2afa4a:1351b94086b:2866&resultType=document&documentURL=KM450195&resultsURL=/selfsolve/documents&allowReturn=true
u will need a HP login for this
in this blog you had mentioned ” Sharing of parameter file less of a problem if you are using Performance Center, as it is smart enough to allow the same script to run on multiple generators and still maintain the “Select next row: unique” property”.
Can you pl sexpalin this? do you mean sharing of same parameter file across multiple script possible from ALM PC?
Just did a review of VTS on our blog (http://northwaysolutions.com/our-work/blog/2012/05/loadrunner-and-virtual-table-server) and linked to this, but we have something new to introduce you to soon. Watch for SQUID on 5/30/12! 🙂
HI I WANT to download the vts. where can i get it ???
Does VTS2 support java protocol. Please throw some light on this if u have implemented it