APM監控-應用程序優化案例:接口被惡意攻擊,產生大量調用

  • 一、問題

Tomcat不停重啓,數據庫連接池動都不動就滿了;

死鏈接超多。

  • 二、監控現象

內存使用、GC情況正常;

數據庫連接池用完,總體方法調用次數減少,且耗時大大增加,如下圖:

 

  • 三、分析定位原因

內存使用、GC情況正常:

        說明Tomcat運行問題不大。

數據庫連接池用完,總體方法調用次數減少,且耗時大大增加:

        首先可以從方法調用分析,查看哪些方法調用次數比較多,且耗時大。

 

 

另外,從日誌服務也可以看到項目上傳的相關接口調用情況,如下:

根據監控顯示,最終於確定爲如下接口調用量大增,遭到攻擊:

       xx/xxx/VerifyMobile2

  • 四、解決方法

接口攻擊來自微信端,主要是沒有相關驗證措施,建議增加圖形驗證。

另外,我們的程序也不夠健壯,可以增加限流措施,不至於被外部未知調用拖垮。

  • 五、總結

先搞清楚問題,再詳盡查看監控現象,大概確定分析方向再去分析,不然這種情況去分析dump或TCP死連接並不是最合適的。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章