There is a kind of rule for that which is: (Number of physical CPU cores * 2) per AOS instance where you only have 1 AOS instance installed per computer.

Example1: You have a computer (it may be physical or virtual) with 1 CPU which has 4 physical processor cores and Windows Hyperthreading is enabled.

In this scenario you would see 8 CPUs shown in Windows tasks manager. For the calculation you would not consider the “virtual” CPU cores coming from Windows Hyperthreading feature.

So the number of threads per AOS instance is: 4

Example2: You have a computer (it may be physical or virtual) with 2 CPUs which has 4 physical processor cores per CPU and Windows Hyperthreading is enabled.

In this scenario you would see 16 CPUs shown in Windows tasks manager. For the calculation you would not consider the “virtual” CPU cores coming from Windows Hyperthreading feature.

So the number of threads per AOS instance is: 8

Note: The higher the number of threads per batch AOS server the higher the CPU is loaded. It needs some performance testing in an appropriate test environment to check out that an AOS will not be overloaded system resource wise. The following tests that were performed once will give you a more detailed picture here:

http://blogs.msdn.com/b/axinthefield/archive/2011/03/25/optimizing-ax-batch-performance-using-batch-group-configurations.aspx

http://blogs.msdn.com/b/axinthefield/archive/2011/06/13/optimizing-ax-batch-performance-batch-thread-configuration.aspx