In multitenant mode, the WSO2 Carbon runtime limits the thread execution time. That is, if a thread is stuck or taking a long time to process, Carbon detects such threads, interrupts and stops them. Note that Carbon prints the current stack trace before interrupting the thread. This mechanism is implemented as an Apache Tomcat valve. Therefore, it should be configured in the
<PRODUCT_HOME>/repository/conf/tomcat/catalina-server.xml file as shown below.
<Valve className="org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve" threshold="600"/>
classNameis the Java class used for the implementation. Set it to
thresholdgives the minimum duration in seconds after which a thread is considered stuck. The default value is 600 seconds.
|The number of threads reserved to handle the load of events received.||10||This value should be increased if you want to increase the throughput by by receiving a higher number of events at a given time. The number of available CPU cores should be considered when specifying this value. If the value specified exceeds the number of CPU cores, higher latency would occur as a result of context switching taking place more often.eventBufferCapacity|
|The maximum sizeof||allowed for the event receiving buffer. This||in mega bytes. The event receiving buffer temporarily stores the events received before they are forwarded to an event stream.10000||10||This value should be increasedif you want to increase the throughput by receiving a higher number of events||when there is an increase in the receiving throughput. When increasing the value heap memory size also needs to be increased accordingly.|
|The number of messages that is allowed in the receiving queue at a given time.|
Number of threads in consumer to handle the load. Default value is 10.
|Value should be higher when receiving throughput is high. Should to consider number of CPU cores.|
|eventBufferCapacity||Size of the receiving event buffer. Default value is 10000.||Needs to be higher value when receiving throughput is high. When increasing the value heap memory size also needs to be increased accordingly. 2000||This value should be increased when there is an increase in the receiving throughput .|
The following parameters which affect the performance relating to publishing events are configured in the <CEP_HOME>/repository/conf/data-bridge/data-agent-config.xml file. These configurations are common for both thrift and binary protocols.