SQUID - Simple Queues of Independent Data

  • Alternative to the VTS (Virtual Table Server) from Mercury/HP.
  • Think of SQUID as a multi-user spreadsheet, allowing virtual users to 'talk' to one another.
  • Data can be added, removed or just queried.
  • Excellent mechanism to accommodate data that needs to be unique across all virtual users and scripts.


  • Storage and manipulation of data in dynamic queues.
  • SQUID is a WCF application.  Any application that can call web service endpoints can use SQUID.
  • Utilized for data loading.
  • Used in load testing to permit virtual users to communicate; promotes modular scripts (the entire business flow does not need to be in one script).
  • Ability to create a script 'critical section'  (only have 1 vuser at a time execute a particular set of steps).
  • Power to set up unique parameters without worrying about unused, blocked data usage; contains a built in type of data "burn-down."
  • Employed as an output mechanism; provides status on good, bad and/or incomplete type operations.
  • Allows unique data to be used across virtual users, scripts and scenario groups.
  • GUI is written with WPF; the communication is handled through WCF.
  • Can run multiple SQUIDs; each responding to a different endpoint address.
  • LoadRunner can communicate with SQUID through either a SOAP or REST interface.


  • Windows .NET Framework 4.0.
  • VC++ 2010 Redistributable Package (x86 or x64).
  • Run as admin.  May have to create a firewall rule for machine communication.
  • SQUID is just an executable, a config file and a dll (SOAP or REST).  That's it!

 Usage Overview

  • SQUID is composed of 4 files: SQUID-SOAP.dll, SQUID-REST.dll, SQUID.exe and SQUID.exe.config.
  • SQUID.exe (and its config file) is a WPF/WCF application that should be run on a generator by itself.
  • SQUID-SOAP.dll/SQUID-REST.dll is a dll to be loaded by LoadRunner via the lr_load_dll function call.
  • SQUID function reference