Throttle Settings to avoid timeout issues in Data Power XI52
Hello
friends I would like to share resolution for time out issue by tuning throttle settings in Data Power XI52.
Time
out issue may occurs in below cases
- Backend service becomes slower to respond.
- While configuring huge WSDL in WS Proxy.
- While dealing with HTTPS,ODBC…etc .
Latency and timeouts:-
Latency and timeouts are important
factors in memory consumption. Consider a typical scenario in which requests
are being processed through DataPower and onto a backend service. Transaction
rates are high, throughput is as expected. Now consider that the backend
service becomes slower to respond, but it is responding and not timing out.
Requests come into DataPower at the previous rates, unaware of the slowdown
occurring on downstream services. But, the transactions are not completing
until the response is received from the backend and potentially processed
within a response rule. DataPower must maintain the request data and variables
produced during response rule processing.
In addition, latencies may not be
associated with the service's "backend", but by other endpoints
accessed during request or response rule processing. There are a variety of
interactions that may take place. Logging, authentication, orchestrations, or
other integration services may be called. If they are slow to respond, the
transactions are slow to complete. If transactions are accepted at a continuous
rate, they begin to queue up in an active and incomplete status. These
transactions hold onto resources until they complete.
Backend timeout values are set at
the service. The default values are typically 180 seconds and controls initial
connections and the maintenance of connections between transactions. User agent
settings (which are identified from the service's XML Manager Object) are used
to specify the timeout values of "off-box" or inter-rule requests.
The default value is 300 seconds. This is probably too much and more
restrictive values should be used, allowing connections to fail when
connections cannot be made in a realistic time. Timeouts vary between endpoint
types (HTTPS, ODBC, and so on) and may be dynamically altered using extension
functions. Consult the product documentation for your specific service
configuration.
Timeouts may be identified by log
messages and analyzed through the use of log targets, which consume these
events. Latencies are potentially more insidious. You may not be aware of
increases in latencies (unless you are monitoring these values). However, you
may use monitoring techniques, such as SNMP monitors to query service rates and
duration monitors. Some customers will utilize latency calculators through XSLT
and potentially create log message, which again can be consumed by log targets
for dynamic configuration or analysis.
Throttling
DataPower constantly monitors system
resources, including memory and CPU. To avoid an excessive use of resources,
throttle settings allow for a temporary hold on incoming transactions until the
constraint is relieved. Using these throttle settings allow for in-flight
transaction to complete before additional transactions are accepted. In a
typical high availability environment, transactions are processed by other
appliances in the HA peer group, relieving load on the saturated appliance.
Figure 8 shows the default values for throttling. In this example, when memory
is at 20% of available memory, the firmware waits "timeout" seconds
and then reevaluates the memory. If the memory constraint has not cleared, the
firmware restarts. If at any time memory falls below the "Terminate At"
value, an immediate restart occurs.
DataPower memory throttle settings
You can use the backlog queue to
hold incoming transactions while waiting for the resource freeing. The
"Backlog Size" number or transactions (currently limited to 500) can
be queued for a maximum of "Backlog Timeout" seconds. If the backlog
size is at its default of "0", transactions are immediately rejected
during throttling. As the throttle process evaluates memory and other
resources, it can be configured to produce detailed log messages. Setting the
"Status Log" to "on" from its default of "off"
produces messages like those shown in Listing 1. Memory, Port, Free space, and
File System snapshots are captured. As with all log messages, you can send
these events to a process for further processing. That process can, for
example, be another DataPower service that executes XML management commands to
modify the configuration settings.
Listing 1. Example of throttle status log
entries
1,20130407T125910Z,default,usage,info,throttle,Throttler,0,,0x0,,,
"Memory(3923046/4194304kB 93.5% free)
Pool(250) Ports(872/874)
Temporary-FS(158771/202433MB 78.4% free)
File(OK)"
1,20130407T125910Z,default,usage,info,throttle,Throttler,0,,0x0,,,
"XML-Names Prefix(2/65535 100.0% free)
URI(83/65535 99.9% free)
Local(1374/65535 97.9% free)"
1,20130407T125931Z,default,usage,info,throttle,Throttler,0,,0x0,,,
"Memory(3920133/4194304kB 93.5% free)
Pool(417) Ports(872/874)
Temporary-FS(158771/202433MB 78.4% free)
File(OK)"
You now understand some of the
resources available to you. You see how the memory data is used to dive into
domains, services, and individual actions to see where memory resources are
being consumed.
I hope this post helps you. So far
this is my best effort to explain. Please correct me if I am wrong.
Please share your valuable
suggestions and feedback to my mail id"mdondetisbit@gmail.com" to improve
myself.
Please post any issues/query’s related to BPM,WODM and DATAPOWER to "mdondetisbit@gmail.com
Please post any issues/query’s related to BPM,WODM and DATAPOWER to "mdondetisbit@gmail.com
Hi mahesh...i am getting times out connection in datapower..what exactly i nees to do...can you make your answer simply.
ReplyDelete