This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.

Configuring synapse.properties

The <ESB_Home>/repository/conf/synapse.properties file contains tuning parameters relating to the mediation engine. These parameters are mainly used when mediators such as Iterate and Clone which leverage on internal thread pools are used.

The following table explains the parameters included in the synapse.properties file.

Parameter NameDescriptionDefault Value
synapse.threads.coreThe initial number of synapse threads in the pool. This parameter is applicable only if the Iterate or the Clone mediator is used to handle a higher load. The number of threads specified for this parameter should be increased as required to balance an increased load.20
synapse.threads.maxThe maximum number of synapse threads in the pool. This parameter is applicable only if the Iterate or the Clone mediator is used to handle a higher load. The number of threads specified for this parameter should be increased as required to balance an increased load.100
synapse.threads.keepaliveThe keep-alive time for extra threads defined in milliseconds. This parameter is applicable only if the Iterate or the Clone mediator is used to handle a higher load.5
synapse.threads.qlenThe length of the queue that is used to hold the runnable tasks to be executed by the pool. This parameter is applicable only if the Iterate or the Clone mediator is used to handle a higher load.10
synapse.threads.groupThe name of the thread group.synapse-thread-group
synapse.threads.idprefixThe prefix of each thread name.SynapseWorker
synapse.sal.endpoints.session.timeout.defaultThe session time-out time for the session aware load balance endpoint given in milliseconds.600000

synapse.global_timeout_interval

The maximum number of milliseconds within which a response for the request should be received. A response which arrives after the specified number of seconds cannot be correlated with the request. Hence, a warning all be logged and the request will be dropped. This parameter is also referred to as the time-out handler120000
statistics.clean.enableIf this parameter is set to true, all the existing statistics would be cleared before processing a request. This is recommended if you want to increase the processing speed.false
synapse.commons.json.preserve.namespacePreserves the namespace declarations in the JSON output in XML to JSON transformations.false
synapse.xpath.dom.failover.enabled

If this parameter is set to true , it will be possible for ESB to switch to xpath 2.0. The default value for this parameter is false since xpath 2.0 evaluations can cause performance degradation.

WSO2 EI uses the Saxon Home Edition in implementing XPATH 2.0 functionalities, and thus supports all the functions that are shipped with it. For more information on the supported functions, see Saxon Documentation.


false

synapse.timeout_handler_interval

The back end service to which a request has been sent are repeatedly called back for responses at time intervals specified for this parameter. Any endpoints have timed out are identified during these time intervals, and they are no longer called back. Note that specifying a lower value for this parameter results in a higher overhead on the system.15 (seconds)

Compared to NHTTP properties, it is necessary to have an equal or higher number of threads in the <ESB_HOME>/repository/conf/synapse.properties file to balance out the load as shown in the example below.

If the NHTTP properties are as follows:

snd_t_core=100
#snd_t_max=250
snd_io_threads=5
lst_t_core=100
#lst_t_max=250
lst_io_threads=5
http.socket.timeout=60000
#http.connection.disable.keepalive=1

A reasonable setting for synapse properties would be as follows:

ynapse.threads.core=100 
synapse.threads.max=250 
synapse.threads.keepalive=5 
synapse.threads.qlen=1000 
synapse.threads.group=synapse-thread-group 
synapse.threads.idprefix=SynapseWorker

For information on tuning performance of WSO2 ESB using these properties, see Performance Tuning.