筆記——Springboot response、ServletOutputStream、圖形驗證碼顯示慢


今天遇到一個圖形驗證碼加載很慢的問題,大概耗時有200~500毫秒左右。

根據追蹤,圖形驗證碼圖片生成耗時0~1毫秒,而response.getOutputStream.write()將圖片寫入前台頁面的時候響應很慢,耗費了200~500毫秒。

最后經過排除發現,只要不動httpsession,響應正常很快,耗時5~30毫秒之間。這時定位到httpsession。

經過進一步排查,工程使用了redis做session共享,所以每一次session動作都要跟redis同步,導致響應多慢一步。

當然,redis做session共享不至於慢幾百毫秒,其原因是因為應用服務在我本地啟動,redis鏈接的是外網服務器。

將redis地址改為本地或內網地址后做了下測試,響應正常,很快5~50毫秒之間。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM