問題描述
SO MO WebService更新同步延遲的問題在三:HTTP 請求失敗、響應報文有誤和報文串行發送
問題分析
- HTTP 請求失敗,網絡網速不良造成報文未發送至SOA服務器。該問題在MO更新同步中最爲明顯,原因有二,網絡不穩定和該期間MO更新數量超大使網絡佔有量滿了。
- 響應報文有誤,SOA服務器未能將正確的報文返回至ERP,致使ERP無法解析該響應報文,該原因大多數是因爲SOA服務器無法連接至相應DWMS。這可能是host解析問題,也可能是連接數問題。
- 報文串行發送,雖然定時器是10s中觸發一次同步,但當這10s數據未處理完,下10s就會等待,這就導致單據未能及時更新至DWMS。
問題處理
- 針對HTTP 請求失敗,以測試SOA的一個承載極限,同時這個承載量和硬件資源相關,可測試加資源前後承載的變化,接着制定據重試機制。後續發現這跟SOA的負載均衡有關。
- 針對響應報文有誤,Host解析問題已處理過,可能不由此造成。增加對連接華南DWMS服務器的監聽,以監測和DWMS的連接情況。
- 針對報文串行發送,解決方案是分組織併發請求報文;之前是一個定時器向一個WS接口發送請求報文,現六個定時器分DWMS組織向一個WS接口發送請求報文,這樣就能避免多個組織串行,提高併發量,保證數據同步的一致性;並做MO trigger的取數優化,使其減少不必要的MO更新操作。
- 和CRM進行模擬正式環境批量處理MO更新,測試SOA併發處理量的上限和其網絡穩定性。
問題總結
要考慮到正式環境數據處理量,並做好接口間數據備份,方便問題追蹤。