When the server is very busy with many client connections, client request threads may repeatedly conflict with each other for access to low-level system resources. Flow control provides a coarser level of granularity for synchronizing access to system resources by request threads. When enabled, flow control can improve performance by replacing multiple, serial choke points in the request processing sequence with a single choke point.
Alternatives to flow control As an alternative to configuring flow control for network listeners, you can configure response-time threshold monitoring for your application components or network listeners. For more information, see Chapter 9, “Using the Performance Monitor.”
Flow control is enabled separately for HTTP and IIOP clients, by setting these properties on the Advanced tab in the Server Properties dialog box:
com.sybase.jaguar.server.flowcontrol.http enables flow control for HTTP client threads. The default is false, which disables flow control. Set the value to true to enable flow control for HTTP client requests.
com.sybase.jaguar.server.flowcontrol.iiop enables flow control for IIOP client threads. The default is false, which disables flow control. Set the value to true to enable flow control for IIOP client requests.
WARNING! In some scenarios, IIOP client threads may deadlock when IIOP flow control is enabled. Deadlock can happen when using client demarcated transactions, in stateful component instances that lock shared resources, and other cases where locks may be held across subsequent client requests. Do not enable IIOP flow control in production servers without first load testing your applications with scenarios that reflect peak production loads.
com.sybase.jaguar.server.flowcontrol.maxexethreads specifies the maximum number of threads that can concurrently execute code that is governed by flow control. The default is the value of the com.sybase.jaguar.server.maxthreads property (Resources/Maximum Threads in the Server Properties dialog box), which means all threads can proceed. Tune this number to get the best performance under peak stress conditions. Values between 15 and 30 are a good starting point. To tune the setting, monitor response time at peak load conditions, and raise or lower the value to find the setting that results in the best response time.
Copyright © 2005. Sybase Inc. All rights reserved. |