The chances are that SPECjAppServer2002 will run well on Windows 2003 without any Operating System tuning. However, some additional performance might be gained, on a multi CPU system, by using the correct CPU affinity settings.
For the purposes of this example, let�s say that SPECjAppServer2002 is being run on an 8 CPU system. When the JBoss Server is started, it has access to all 8 CPUs. This may seem like a good situation to be in, on the surface, as JBoss has access to all the CPU resources it needs. However, JBoss may spend most of its time moving from CPU to CPU which in turn causes a large number of cache invalidation to occur.
The solution to this problem is to affinitize the JBoss Server (via the java.exe process) to a fixed range of CPUs, let�s say 2 or 4, instead of 8. This may provide better on-chip cache utilization.
Care must be taken when affinitizing a process as constraining the number of CPUs available to a process may also reduce throughput. As a general rule, a process should be tested in single CPU increments to determine the best number of CPUs to use. Using the benchmark baseline as a guide, it is easy to see when adding additional CPUs makes no difference or starts to hurt the benchmark results.
Affinity can be set manually via the Windows Task Manager.