我们已经设置了WSO2 DAS 3.1.0,它从我们的API Manager 1.10.0安装程序接收事件。WSO2 DAS和APIM网关节点停止发布事件
我们从API管理器网关节点接收事件,我们在流中分析它们,并最终将结果输出到RDBMS。
当对这个设置进行压力测试时,由于没有明显原因,几个小时后,DAS服务器停止发布到RDBMS(在此之前工作得很好)。它仍然看起来像DAS服务器仍在工作;但在同一时间,网关节点开始抱怨(在某些情况下):
[PassThroughMessageProcessor-212] ERROR AsyncDataPublisher Event queue is full, and Event is not added to the queue to publish
重新启动DAS服务器被再次工作,但它从一个可靠的设置远远。
有几件事情:
。我们还需要寻找到对DAS特定的性能设置?我们目前使用2GB的Java堆内存运行它,并且检查JVM-metrics日志并不表示DAS正在使用所有资源(大约80%的CPU和大约1.5GB的内存)。
任何其他需要了解DAS为何突然停止处理事件的区域? (并且不会发布任何日志,为什么它会失败)。
当我们重新启动DAS时,网关节点似乎没有再次开始传输事件。是否有可能检测到它不能再发送事件,使它们在发送事件时“关闭”?有什么办法可以覆盖这个,让他们在可能的时候再次开始发送活动?
为什么在DAS中没有错误日志?我认为如果DAS不能足够快地处理事件,或者它的队列开始填满等,DAS会记录某种警告。
(我们试图改变从H2的WSO2_ANALYTICS_EVENT_STORE_DB到MS SQL,但相同的行为,与事件不是在几个小时后公布)。
谢谢您的信息。在我们的例子中,我们的测试每秒发送大约50-100个事件,所以如果DAS跟不上(?),那将会很奇怪。队列大小不应该是一个问题(尽管我们现在已经提出了这些问题) - 因为我们应该能够以它们到达“有限”情况的速度处理它们? –