SEP Sizing and Concurrency
When an enterprise server region is created, it contains two service execution processes (SEPs) that process incoming client requests. The number of SEPs in an enterprise server region impacts performance, and the optimal number depends on various variables, requiring experimentation to determine the best configuration for a particular enterprise server. [1]
Read the full briefing
Introduction to SEPs
When an enterprise server region is created, it contains two service execution processes (SEPs) that process incoming client requests. The number of SEPs in an enterprise server region impacts performance, and the optimal number depends on various variables, requiring experimentation to determine the best configuration for a particular enterprise server. Changing the number of SEPs in an enterprise server while it is running only has an effect until the server is stopped, at which point the number of SEPs reverts to the initially set value. [1]
Long-running Requests and SEP Concurrency
Long-running requests, such as those involving stateful services or transactions, maintain a connection between the client and server until the transaction ends or the client indicates that stateful processing is no longer required. In such cases, the service execution process is dedicated to the specific client and cannot process requests from other clients. To maintain responsiveness, the enterprise server starts a new service execution process for each stateful request, which can lead to dynamic growth of service execution processes and consume machine resources, potentially affecting performance. One boundary matters: if stateful processing was already active, or the first service request in a transaction was stateful, ending that transaction does not end the long-running request. The server remains in stateful mode. [2] [3]
Configuring SEPs for Stateful Requests
For applications that require stateful interaction, it is recommended to have more service execution processes available, even if the service is CPU-bound rather than I/O-bound. The enterprise server region automatically starts a new service execution process when it detects a stateful request. However, it is advised to keep stateful requests to a minimum unless the application design specifically requires them, as dynamic growth of service execution processes can impact performance. [3]
Persistence and Scope of SEP Configuration
A live change to the number of SEPs lasts only until the server stops. On restart, the count returns to the value saved when the server was added or its details were edited. Treat runtime capacity changes as temporary; retain the intended count in the saved server configuration for subsequent starts. [1]
Practical Implications and Recommendations
The optimal number of SEPs should be determined through experimentation, taking into account the specific needs of the enterprise server and its applications. It is also important to monitor the performance of the enterprise server and adjust the SEP configuration as needed to ensure optimal performance. Additionally, keeping stateful requests to a minimum can help avoid unnecessary dynamic growth of service execution processes and potential performance impacts. [1] [3]