LoadRunner and Virtual Table Server

For many long-time users of LoadRunner, Virtual Table Server (VTS) has been an unsupported tool that many of us have relied upon to solve dynamic data dependency issues under load. VTS is a virtual data file that multiple load generators can reference to create, modify, and consume data Think of it as a “living” data file (or table) that runs in memory. The load generators can get values from a single pool of data on the fly. One Vuser can create new data, and any other Vusers can immediately consume it. I’m not sure who originally wrote it, but it appeared on the Mercury LoadRunner forums back in the day, and everyone loved it. Here is a link from Wilson Mar’s site about it – possibly the most popular link about VTS. If you know the origin of this product, please comment below so we can give whoever created it proper credit.

A real-world example of using VTS might be a time sheet application where users need to create time sheets, and administrators need to approve and release the time sheets. The administrators would typically approve what time sheets have already been created. You could create a bunch of time sheets up front and then kick off a load test with enough data so that you wouldn’t run out over the test duration. You could delay the administrators for a certain amount of time using LoadRunner’s scheduler for individual groups/scripts. A more elegant solution is to have both running just like in real life and have the time sheet creation script writing data to a VTS table, and having the approval script consuming data from the table as it is being posted. Once it uses the data, it is taken off the list and the next Vuser  grabs data from the next available row.

A lot of people have written about VTS and possible alternatives. Here is a good VTS primer from Oliver Lloyd’s blog. We even have a download on our site about how to use VTS from one of our friends – Otto Strickland. Another friend of mine in the performance testing world, Stuart Moncrieff, recently delved into to the pains of consumable parameter data with LoadRunner on his blog. He has offered an alternative to VTS by way of MySQL API calls and WAMP Server. Here is an article that delves into that. VTS has been a great friend, but it getting a little long in the tooth. I’ve been looking for an alternative and I think I have found one. In my next blog, I will reveal to you what my solution is and hopefully it will excite you as much as it did me when I found out about it.

If you have used VTS in the past, what has been your experience and what have you used it for?

What's Next?

Did you enjoy this article? Help spread the word by sharing:

Join the Northway Navigator Club today and get access to restricted content including our best tips and tricks. Membership is free! You will also receive free email updates by registering.

Engage in the conversation and leave a comment:

Scott Moore

About Scott Moore (153 articles)

With over 20 years of IT experience with various platforms and technologies, Scott has tested some of the largest applications and infrastructures in the world. He is a Certified Instructor and Certified Product Consultant in HP’s LoadRunner and Performance Center products. He currently holds HP certifications for ASE, ASC, and CI. A thought leader in the APM space, he speaks regularly at IT conferences and events



  • Vince Oliverio

    I don’t think the VTS supports Performance Center

  • http://www.northwaysolutions.com/ Scott Moore

    Vince – keep watching the blogs for my solution to be revealed. It will solve this problem.

  • Chuck Masters

    @Vince we are using VTS with PC 11 with no issues. We use VTS when we are doing a performance integration test between our sales, recruiting & ERP systems to pass info between the 3 during a test. Works like a champ !

    • http://www.facebook.com/ugandar.eddala Ugandar Eddala

      Tested Virtual Table Server through VuGen & local LR controller successfully.
      Lr controller is added and activated by Performance Center

      Planning to test the same through Performance Center.

      Does Performance center supports Virtual Table Server?

      Note: we used VTS for saving run time data of multiple users for later usage in the script.