views:

261

answers:

2

I am load testing a server that requires that a user not be connected more than once at a time.

If I bind the VUsers to real users will this ever occur, or can I be sure that that VUser will not be reused until the previous iteration is complete?

+1  A: 

I've created a load test to test this.

Roughly:

Method1{ Trace.WriteLine(userId); }

Method2{ Trace.WriteLine(userId + "locked"); Thread.Sleep(5 min) }

Mix these two up and you'll see that as soon as a UserId is locked up in Method2 you won't see it hit either method again for 5 min. And when all users are locked up the test just sits until one is released.

sroche
When running on a test rig with multiple agents, the userIds are duplicated on each agent. However, the LoadTestContext object has agent information (name, id, count) and could potentially be used to manually allocate userIds.
sroche
A: 

You can set the user that the load test connects as when you create a coded web test. Adding some code to get the user from a pool could work, but it would be challenging as the code to get a new user could easily become a bottle neck and will open to concurrency/multi threading bugs.

Nat