使用网络面板进行性能分析时,强制Chrome关闭/重新打开所有TCP/TLS连接

Mic*_*pat 9 windows tcp google-chrome google-chrome-devtools

Chrome的DevTools网络面板非常适合查看加载不同请求的时间.它会描述每个请求并报告请求的不同部分需要多长时间,包括进行初始TCP连接和SSL握手所花费的时间:

当我第一次看到初始连接和SSL握手所花费的时间时加载页面.如果我立即重新加载页面,我不再看到在初始连接和SSL握手上花费的时间.我认为这是因为Chrome已经保持打开先前请求的TCP连接并重新使用它.这对于正常浏览非常有用,但它使初始页面加载的分析变得困难.

有什么办法可以强制Chrome不重复使用任何现有的TCP/TLS连接并且总是制作新的连接?

如果不是在Chrome中,我可以在操作系统级别做些什么来实现这一目标吗?我在Windows上,如果它有所作为.

Gid*_*zer 14

Chrome会检查其套接字池,看是否有该主机名,它可能能够重用可用的插座-保持活动插座保持在池中的一段时间,避免TCP握手和慢启动处罚.如果没有可用的套接字,则它可以启动TCP握手,并将其放入池中.然后,当用户启动导航时,可以立即调度HTTP请求.- Google Chrome中的高性能网络

导航到chrome:// net-internals #sockets以查看活动套接字.如果单击"关闭空闲套接字",则下次刷新页面时,它将建立新连接.

我不确定是否有办法告诉Chrome停用Connection: keep-alive标头,但我认为您可以使用Chrome扩展程序(例如修改标头)来拦截从客户端发送的标头,并在请求到达服务器之前将其删除.