前端打包为js文件,后端war包使用Tomcat启动。通过nginx代理前端和后端系统,前端js放在nginx里面。nginx配置https通过域名访问系统。浏览器使用域名访问系统刚开始没有问题,放置一段时间后再次访问页面,页面调用后端接口响应时间长,但是没有报错超时。接口等一段时间正常返回数据了。看接口详情信息发现Initial Connection处理耗时21s,该问题为突发性偶尔会出现。使用IP访问出现几率较小。请问这是什么问题引起的?如何解决?
如图:

前端打包为js文件,后端war包使用Tomcat启动。通过nginx代理前端和后端系统,前端js放在nginx里面。nginx配置https通过域名访问系统。浏览器使用域名访问系统刚开始没有问题,放置一段时间后再次访问页面,页面调用后端接口响应时间长,但是没有报错超时。接口等一段时间正常返回数据了。看接口详情信息发现Initial Connection处理耗时21s,该问题为突发性偶尔会出现。使用IP访问出现几率较小。请问这是什么问题引起的?如何解决?
如图:

关注引自免费微信小程序:皆我百晓生
在处理这个问题时,我们首先需要分析整个请求链路中可能影响Initial Connection建立耗时的因素。根据您的描述,问题出现的场景涉及前端、Nginx代理、HTTPS连接以及后端Tomcat服务器,下面是一些可能导致21s Initial Connection响应时间过长的原因及相应的排查和解决方法:
DNS解析延迟:
dig或nslookup命令检查DNS解析时间和结果。SSL/TLS握手过程缓慢:
Nginx配置问题:
TCP/IP层问题:
后端服务器资源瓶颈:
Keepalive配置:
针对上述可能的原因,您可以按照以下步骤逐一排查:
请注意,这里并未提供具体的代码修改示例,因为问题涉及到多方面的配置和环境因素,并非简单的代码更改就能完全解决。您需要根据实际情况对症下药。