Not sure if this is possible but here is my question. I know that you can set the number of simultaneous connections for a script but what does this actually mean. If you set the connections to 10, does this mean that ACT is firing 10 of the same exact requests at the same second to the server? I want to set up a real world scenerio of 10 users hitting the same page and doing the same thing but not at the exact same second. Is there a way to stagger when each individual connection will fire its request? Thanks
It's funny how Microsoft say that RPS is not as important as simultaneous connection(bs).
I don't agree though. If you don't have a constant frequency(RPS) so what are you measuring? There are two things ppl want to know. The system requirement for the application and the point of failure for the application.The former one is relative to the second one but more forgiving in terms of conccurrent request. The later one is really not forgiving about RPS. It's like cars driving at non constant speed on a street, how would you measure the point of traffic jam? The more variables you have the more complicated and less accurate is your assessment(usually useless measurements).
I had the same problem, and made up the function below:
Dim oUser, lUserNumber, lLength, strUser, lNapTime
'GLOBAL VARIABLE THAT IS SET TO 1 WHEN A USER FINISHES THE SCRIPT
iBeenUsed = Test.GetGlobalVariable("iBeenUsed")
If (iBeenUsed <> 1) Then
Set oUser = Test.GetCurrentUser
lLength = Len(oUser.Name)
lPosition = lLength - 8
lUserNumber = Mid(oUser.Name, 9, lLength) + 1
If (iBeenUsed <> "iBeenUsed") Then
lNapTime = (lUserNumber - 1) * lStaggerAmount
'PAUSE IS LONGER PER USER
'LOG LENGTH OF "NAP" TO MAKE SURE IT RUNS CORRECTLY
Test.Trace("User " & lUserNumber & " went to sleep for " & (lNapTime / 1000) & " Seconds. ")
'CODE THAT GOES INTO MAIN() SUB
'Calculate delay for each user
'For one user in the script I used, there are 11 delays, and 3600 milliseconds usually due to server response
lStaggerTime = lDelay * 11 + 3600
lStaggerAmount = lStaggerTime/lUsers
'The value of lStaggerAmount is multiplied above by the user number. That way, each user's initial post is delayed by a set amount, so that once the first iteration is over, the rate is constant (rather than using a random delay), yet all users are not doing the same step at the same time.
'You also need, at the end of the main() to set the global variable, so that the stagger isn't used every iteration, only for the first set for your users.