用的是tomcat 8.0伺服器,nio模式。其他都為預設配置。
用spring mvc的rest寫了個接口,然後用resttemplate調用,透過httpclient實現的連接池。在並發1000個請求時,發現部分請求逾時。導致存取失敗。 <但應用程式一直沒掛,就是部分請求超時>。
整個系統架構是這樣的
有A、B、C三個應用
C負責操作資料庫,提供接口,返回JSON
B負責處理業務,提供接口,返回JSON,並調用C的接口,保存/讀取資料
A負責前台,呼叫B的接口
A呼叫B時,透過nginx做了複雜均衡,有兩台B伺服器。
請問超時,有哪些情況會導致?
B呼叫C,看看是不是資料庫這邊。
先確定是哪一步的問題,然後再具體分析。可以列印出每個介面呼叫的耗時