WSO2 APIM 3.0.0 EventQueueFullException - PullRequest
       25

WSO2 APIM 3.0.0 EventQueueFullException

0 голосов
/ 27 апреля 2020

Я установил WSO2 APIM 3.0.0 с 2 узлами API-менеджера и 1 в качестве узла шлюза. Я сделал следующие конфигурации в моем файле deploy.toml:

[transport.thrift.agent]
queue_size = 65536
batch_size = 300
max_transport_pool_size = 250
secure_max_transport_pool_size = 250

[passthru_http]
worker_pool_queue_length = -1
http.max.connection.per.host.port = 32767
http.socket.timeout = 180000

[synapse_properties]
synapse.global_timeout_interval = 120000

[transport.https]
properties.port = 9443
properties.proxyPort = 443
maxThreads=""750""
minSpareThreads=""150""
disableUploadTimeout=""false""
enableLookups=""false""
connectionUploadTimeout=""120000""
maxKeepAliveRequests=""600""
acceptCount=""600""

Я провел нагрузочное тестирование с 2 примерами API и каждым API с 75 одновременными пользователями. После определенного периода нагрузочного тестирования, я наблюдаю EventQueueFullException на узле шлюза.

Ниже приведена трассировка стека ошибки:

org.wso2.carbon.databridge.agent.exception.EventQueueFullException: Cannot send events because the event queue is full
        at org.wso2.carbon.databridge.agent.endpoint.DataEndpointGroup$EventQueue.tryPut(DataEndpointGroup.java:214)
        at org.wso2.carbon.databridge.agent.endpoint.DataEndpointGroup$EventQueue.access$100(DataEndpointGroup.java:193)
        at org.wso2.carbon.databridge.agent.endpoint.DataEndpointGroup.tryResendEvents(DataEndpointGroup.java:413)
        at org.wso2.carbon.databridge.agent.endpoint.DataEndpoint.handleFailedEvents(DataEndpoint.java:348)
        at org.wso2.carbon.databridge.agent.endpoint.DataEndpoint.access$100(DataEndpoint.java:47)
        at org.wso2.carbon.databridge.agent.endpoint.DataEndpoint$EventPublisher.run(DataEndpoint.java:286)
        at java.lang.Thread.run(Thread.java:745)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: com.lmax.disruptor.InsufficientCapacityException

Любая помощь очень ценится.

...