Siebel Field Service Guide > Setting Up and Using Scheduling >
About Enhancing the Performance of Siebel Scheduler
Every Siebel server can run one or more service regions. Large service regions can run on a dedicated server.
Each service region can run on only one application server. This allows the information for one service region to be cached within memory instead of being continually read from the database, reducing the load placed on the database during schedule optimization.
CAUTION: It is recommended that you place no more than 400 service regions on one physical server. This is due to the limitations on the Server Request Broker scalability. See About the Relationship of Scheduler to the Server Request Broker for more information. If your service regions are going to exceed that amount for the ABS or Optimizer, you must test performance and scalability carefully.
The ABS and Optimizer interact with the database only at these times:
- Data loading. The ABS and Optimizer read large amounts of information from the database on start up, or when the service region is reloaded. For more information, see About Loading and Reloading Service Region Data. For this reason, it is best to avoid reloading during a busy time.
- Saving schedules. The Optimizer can save its result sets to the database at specified time intervals, but unless this is a very large data set, it should not noticeably affect database performance. For more information, see the parameter, Optimizer - Save Interval in Table 29.
CAUTION: Although it is acceptable for testing, it is recommended that you keep the Object Manager and the Scheduler components on separate machines in a production environment. This prevents spikes in user activity from interfering with the Scheduler operations.
Guidelines for Balancing the Service Region CPU Load
In general, you should have a number of processes up to or equal to the number of CPUs on the server, as the operating system (OS) generally farms the work out on each process to a separate CPU. If you have a small number of service regions, it is recommended that you have each service region on a separate process number within a server. When you have more service regions than CPUs, and when each service region is approximately the same size, divide them equally across the processes. If the service regions are not equal, balance them according to size. For example, put a 50-person service region on Process 1 and two 25-person service regions on Process 2. Another way to load balance is to look at the amount of time to load and aim for an equivalent amount of load time on each process.
NOTE: You cannot specify which CPU a process works on. The OS does this specification; it generally has its own algorithms to maximize performance in a multi-CPU environment.