上週主要處理了,兩個生產問題。工作電腦沒帶,主要簡述一下。
- 每天的20:13分linux服務器(centos7.4)重新啓動
- 應用服務接口類交易過慢,耗時20秒,不頻繁,但時有發生,引發通信超時現象
這裏描述第二個問題,
問題現象
接到客戶反饋系統應用報錯網絡通信超時,並且交易過慢,影響客戶使用。
排查過程:
- 排查weblogic中間件server日誌,發現部分線程掛起
- 排查應用日誌,發現接口類交易固定耗時20S秒左右
- 抓取網絡日誌分析,發現鏈接建立完畢後,開始發送數據時,對方主動關閉了鏈接,但應用卻在20秒後接收到了對方系統的返回數據,因此懷疑請求的發送到對方的接收請求處理以及返回都正常,但返回後本方應用未接收到數據,但對方卻認爲已經完成交易,因此發送關閉連接的執行
- 排查本方的網絡變動,經過溝通發現上次上線時因爲需要訪問外網進行人臉識別的操作,因此臨時配置DNS進行外網訪問調整。
- DNS的主要作用是控制網絡的進出口的,將域名解析爲IP,同樣也可以將IP反向解析未域名。因此DNS的調整是必然會對服務器的網絡造成影響的。
- 同時進一步對應用日誌進行排查,主要排查DNS改動前後的接口交易的耗時變化,通過日誌的前後幾天的比對,基本確定問題的發生就是因爲DNS的改動引起的
- 因此發起變更,調整DNS的配置。
- 測試通過。
總結:
一般來講我們不會將應用服務器開通對外網的訪問,但當隨着業務的發展必須要對外網進行訪問的時候,我們可以通過代理的方式進行外網的訪問,儘可能減少對應用服務器本身的改動,降低出錯的可能性
PS:感謝幾位同事的配合。