chrome浏览器页面查询慢的问题

时间:2024-03-27 12:48:05

问题背景:

智能内容监审平台(chrome浏览器),部分页面操作响应特别慢,查询服务端接口响应很快(毫秒级)。

使用jemeter模拟客户端调用接口,接口响应很快。

 

问题排查思路:

  1. 本机到服务器的网络状况

chrome浏览器页面查询慢的问题

网络状况正常,无延迟。

 

  2. 查询服务端响应时间

chrome浏览器页面查询慢的问题

接口耗时4毫秒,正常。

 

3. 抓取客户端数据包查看

Chrome浏览器自带抓包工具:chrome://net-internals/#events

 

chrome浏览器页面查询慢的问题

分析以上文件,浏览器调用http://172.31.12.65:7000/source/lives

接口,从开始准备到最终发送http的head信息和http的body信息,只用了7毫秒时间,没有延迟情况。而浏览器读取响应数据花了21秒。

结合浏览器的开发者工具分析的耗时情况:

 

chrome浏览器页面查询慢的问题

Waiting(TTFB),指从浏览器在建立连接并发送数据之后,等待服务端返回第一个字节的时间,总共是21秒。

到这里就是一个很奇怪的现象,接口很快但是返回到客户端很慢,继续分析。

 

 4. 服务端抓包分析。

chrome浏览器页面查询慢的问题

通过服务端抓包发现,从建立连接到客户端开始发送http头数据,隔了8秒时间,再到客户端发送http body数据又隔了9秒多。

从浏览器看,数据发送是很快的,一直在等待数据返回,但是从服务端看,请求的数据延迟了将近20秒才发到服务端,这是不合理的。

以上分析过程我们是从 客户端机器浏览器 – >  服务端机器分析,说明两者之间还有一个对请求做了延迟处理,客户端系统。

我本地系统为win10系统,按道理系统本身不会做这样的事,但是安全软件会。公司的dlp安全软件会对上传的数据进行校验,导致请求的延迟。

 

为了验证这个猜想,专门找了台没有安装dlp的机器做同样的操作,页面响应完全无问题。

Chrome浏览器安装插件Symantec 之后,响应速度降为2秒,该插件可以识别chrome的url,提升dlp的检测速度。

 

最终结论:

平常我们用本机进行web测试,出现的页面响应慢的问题(只要针对需要上传数据的接口,put方法很明显),主要是DLP安全软件对上传数据的行为做校验的原因。可通过安装Symantec 的方法提高校验速度,但是不能避免。可通过以上步骤协助排查。

对于DLP的检测原理和规则,由于该软件是外部厂商提供给公司这边试用的,暂时不了解原理。