HTTP/HTTPS request processing
- Last Updated:Jan 16, 2024
- 1 minute read
- OpenEdge
- Version 12.8
- Documentation
PAS for OpenEdge handles all HTTP client requests, including APSV, REST, SOAP, and WEB. Tuning concurrent client request handling involves managing the PAS for OpenEdge thread pool and the HTTP request queues. The goal is to tune the thread pool size to handle the maximum number of concurrently executing client requests across all web applications within the bounds established by the JVM configuration.
Property | Default | Description |
---|---|---|
psc.as.executor.maxthreads |
300 |
Maximum number of threads that can be created to execute client requests. |
psc.as.executor.minsparethreads |
10 |
Minimum number of threads retained in the pool to service client requests. |
psc.as.HTTP.maxqueuesize |
100 |
Maximum queue size for parking HTTP connection requests until a thread from the thread pool is available. |
psc.as.HTTPs.maxqueuesize |
100 |
Maximum queue size for parking HTTPS connection requests until a thread from the thread pool is available. |
Tuning tips
- Each thread in the pool allocates memory from the JVM heap space. Having too many threads reduces the amount of JVM memory available to the applications. Having too few threads reduces the ability of the instance to handle concurrent client requests.
- Another factor to consider when setting the thread pool properties is the
instance startup time. The larger the number of threads initially started
(
minsparethreads
), the longer it takes for the instance to start and be available for clients. Not starting enough threads or keeping too few threads active, results in irregular client response times because new threads are created and initialized before they can be used. - Monitoring for the purpose of determining these values is generally obtained during peak and non-peak client activity times. Look for client errors due to overloaded queues or thread pool exhaustion as indicators that values need to be increased. Look for irregular client response times as indicators that the minimum retained thread count is not sufficient.