Toad World® Forums

Could not start thread for virtual user


#1

Hello. I was running Benchmark factory standard TPC-C Job (5GB database - 60, 800, 1200 Virtual Users from ONE Agent) against our Oracle 10g RAC database and ran into the following error when when the Agent was preparing itself for the iteration with 1200 users:
“Could not start thread for virtual user ID 1053”

Nenchmark Factory unfortunately stopped the Job immediately after this error.

Based on our monitoring through Spotlight on RAC, the following alarms were raised:

  1. high redo buffer level
  2. high level latches for dedicated server processes

SGA was at 4GB and there was plenty of RAM left at the time and the CPUs were not suffering. Throughput between database and where the agent was run was not an issue, since there was a 10 Mgb pipe.

Has anyone else encountered this error? Why is it caused, and will uncheking “Stop Job after first error” in the Error section within a Job keep Benchmark Factory from cancelling a Job?

As you probably know, running a test in Benchmark factory with a rather large database consumes a significant amount of time. I am planning to perform standard TPC-C transaction tests with a larger database and would like to avoid Job cancellations due to errors.

Any comments or advise are greatly appreciated. Thank you!


#2

The Windows operating system imposes a limit on the number of threads it will give to a process. This value varies between 800 and 1500 depending upon the version of the operating system you are using. I recommend starting a second agent on your machine to allow for more threads to be allocated.
Tracey


#3

I’ve also run into this problem. There are two limiting behaviors that I’ve noticed.

  1. Each agent starts getting unstable above ~1000 users
  2. Windows has trouble above ~4000 virtual users per OS instance.

With these two items in mind, I typically start 5 agents per OS, and add load clients until I have enough virtual user capacity to run the test that I want.

So, if for example I want to run a test with 12,000 TPC-C users then I need a minimum of 3 load clients.

In my environment I’ve created the load client as a VMWare template so that I just have to deploy a new one to add capacity.

Hope this helps.

John