Sample 370: Introduction to Throttle Mediator and Concurrency Throttling
<!-- define throttle policy -->
<property name="text" value="**Access Accept**"/>
<property name="text" value="**Access Denied**"/>
<reason value="**Access Denied**"/>
Showcase the ability of Synapse to throttle incoming requests based on the
Executing the Client
Above configuration specifies a throttle mediator inside the in mediator.
Therefore, all request messages directed to the main sequence will be subjected
to throttling. Throttle mediator has 'policy', 'onAccept' and 'onReject' tags at
top level. The 'policy' tag specifies the throttling policy for throttling messages.
This sample policy only contains a component called 'MaximumConcurrentAccess'.
This indicates the maximum number of concurrent requests that can pass through
Synapse on a single unit of time. To test concurrency throttling, it is required
to send concurrent requests to Synapse. With this configuration if Synapse receives
20 requests concurrently from clients, then approximately half of those will succeed
while the others being throttled. The client command to try this is as follows.
ant stockquote -Dsymbol=IBM -Dmode=quote -Daddurl=http://localhost:8280/
It's not that easy to try this sample out using the sample Axis2 client. For
better results, consider using a load testing tool like Apache Bench or Java Bench.
Back to Catalog