This service process can run as a standalone application for better performance and scalability, and it is platform independent. Services are responsible for executing real-time and scheduled application jobs. The following application areas are processed as jobs:
- Summarizer
- Scheduler
- Leveler
- Publications
- Update Baseline
- Add/Create Baseline
- Apply Actual
- Copy/Paste Project
- Export Project XER
- Import Project XML
- Export Project XML
Services are capable of processing large number of projects, activities, and resource assignments. The number of concurrent jobs greatly affects the CPU, memory requirements of the application server, and load on the database servers.
- For medium to large deployments, Oracle recommends setting up a dedicated application server node for services. This application server should not be part of the cluster that processes HTTP requests from the web client. In addition, Oracle recommends turning off services on the application servers in the cluster that are serving web client requests. Adding more dedicated application server nodes for services (horizontally scaling) can address increased performance requirements.
- For long-running jobs, Oracle recommends job scheduling off-peak hours. For example, scheduling a job to run when the load on the system is low.
- For the initial run of Publication Services, after installing or upgrading P6, Oracle recommends off-peak hours. For example, run Publication Services over the weekend.
- For heavily data-intensive jobs (such as summarizing an entire EPS), Oracle recommends sequential, rather than concurrent scheduling. For example, do not schedule two large EPS summarization jobs to run at the same time.
Consider the following while planning for infrastructure for job services.
- Heap usage increases as the number of activities increases.
- Garbage collection overhead on the application server may increase as the thread count increases. Thread count can increase as the result of high throughput.
- Oracle recommends that you use a minimum of 4 GB Java heap (Xms) for the optimum performance of job services.
- Database server utilization increases as thread count increases.
- A high number of threads does not guarantee high throughput. The number of threads should be configured to a break-even value between throughput and server utilizations.
For more information on P6 Services, see http://www.oracle.com/webfolder/technetwork/tutorials/primavera/OnlineLearning/WhitePapers/P6JobServicesPerformanceTuning.pdf.