原文网址:https://www.youyong.top/article/115943bcd03e1
之前发现stalled时间过长,是我客户端的网络不稳定,当时Proxy negotiation耗时也就4 5毫秒,今天发现Proxy negotiation占据了1秒,常去csdn,网站本来就慢,偶尔还卡个1s,怎么受的了?
原文网址:https://www.youyong.top/article/115943bcd03e1
之前发现stalled时间过长,是我客户端的网络不稳定,当时Proxy negotiation耗时也就4 5毫秒,今天发现Proxy negotiation占据了1秒,常去csdn,网站本来就慢,偶尔还卡个1s,怎么受的了?
原文网址:https://www.youyong.top/article/115943bcd03e1
Proxy negotiation : 是处理代理的时间。
代理已经关掉啦,怎么还会有,即使有代理,也不能用去1.1s这么长的时间啊!
在浏览器中访问 chrome://net-internals/#events 来捕获事件日志,看看1.1秒究竟在干什么。
如下图:
图左ID为33249这个请求,Source Type为HTTP_STREAM_JOB。看这个请求的右边,可以看出:
从 t=11126 到 t=12182 ,用去了1056毫秒和上图中的1.1秒是吻合的。
而右侧红框中 t=11126 [st= 0] PROXY_SERVICE_WAITING_FOR_INIT_PAC [dt=1007] 这一行, 用去了1007毫秒。
这一行在干什么?
在初始化PAC,也就是左边红框的内容。
PROXY_CONFIG_CHANGED,
接下来去请求,http://127.0.0.1:1080/pac
http://127.0.0.1:1080/pac 是访问不到的,只有在Shadowsocks开启系统代理的时候,才能访问到。
然后再捕捉,信息如下:
看右边红框,这次
t=5506 PROXY_SERVICE_WAITING_FOR_INIT_PAC [dt=37]
只用了 37毫秒
信息如下:
同样,看右边红框,这次
t=24221 PROXY_SERVICE_WAITING_FOR_INIT_PAC [dt=31]
用了 31毫秒.
为什么我关闭了系统代理,Proxy negotiation 这块还要花时间那,虽然只有31毫秒。
看上图左边红框,请求的东西较以前发生了变化,这次请求的是
wpad
http://wpad/wpad.dat
http://wpad/wpad.dat
http://wpad/
wpad:80
这些信息。
网上查到,这是自动检测代理的,于是我把它去掉
4.1:进入浏览器的【设置】
滚动到底部,点击【显示高级设置】
4.2:找到【网络】下的【更改代理服务器设置】
点击它。
4.3:弹出【internet属性】窗口,点击【局域网设置】。
4.4:把【自动检测设置】勾选掉。
信息如下:
同样,看右边红框,这次
t=3905 PROXY_SERVICE_WAITING_FOR_INIT_PAC [dt=5]
用了 5毫秒.
不知道怎么会还有一个 PROXY_CONFIG_CHANGED,不过已经不是我关心的问题。
重要的问题,我们回到最初,为什么我系统代理关掉了,请求的时候还是去找pac,用掉1.1秒,而这次我重从新开启,到再关闭,就不发生这1.1s的问题了那?
6.1:在启用Shadowsocks系统代理的时候,经360提醒得知,他修改了注册表。
6.2:去看一下这个键值。
和上图设置的一致。
6.3:停掉系统代理后,再看看
Internet Settings下的AutoConfigURL不见了。
也就是说,Shadowsocks主动把他删除了。
而我为什么没有启动Shadowsocks还去请求PAC,很有可能就是非正常关闭Shadowsocks,注册表因此未被删除导致的。
不妨 在开始系统代理的情况下,直接关机试试(直接按电源的那种关机哟,这也才想起来昨天电脑卡死了一次。)
开机后,发现 AutoConfigURL 还在,
用 chrome://net-internals/#events 来捕获, 有发生了1.1s的事情。
这下就弄明白了!
非正常关闭Shadowsocks,闹出这么多事,也学到不少东西。
这种偶发型的网络请求问题,最难的问题是如何复现了,又是你刷新个几十次,不一定出现。
这次复现,我用了隐身窗口, 可能平常我也喜欢在隐身窗口下调试,这次我发现在打开隐身窗口就能复现,100%。才得以做接下来的很多假设步骤。
(代理检测,可能就发生在初次打开浏览器,第一个网络请求的时候)
作者声明:本篇文章系本人原创,欢迎分享,但未经许可,谢绝转载。
共 0 条留言
iPhone X 跌破发行价,苏宁200亿入股恒大 | 财经日日评
资深黄牛现身说法:iPhone X价格秒变不停,就像炒股一样
改了php.ini中的open_basedir仍报错open_basedir restriction in effect
推荐 | PHP WEB消息推送框架 web-msg-sender (PHPSocket.IO)
如何准确判断请求是不是搜索引擎爬虫(蜘蛛)发出的请求?(php window linux)
PHP Warning: feof() expects parameter 1 to be resource, null
手机扫一扫
分享文章