用的是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,看看是不是数据库这边。
先确定是哪一步的问题,然后再具体分析。可以打印出每个接口调用的耗时