我們已經設置了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跟不上(?),那將會很奇怪。隊列大小不應該是一個問題(儘管我們現在已經提出了這些問題) - 因爲我們應該能夠以它們到達「有限」情況的速度處理它們? –