暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

内网网站卡慢案例分析

生有可恋 2023-03-08
1592

在内网搭建的web服务经常会遇到个别页面打开特别慢的情况,今天分享一个卡慢的案例,一起看一下这类问题的处理思路。

例子是一个内网测速网站,用来测试终端到服务器之间的上传、下载速度。因为内网存在很多的小路由、小交换机,存在百兆千兆混杂的情况,所以经常需要测试终端在内网的网络质量。

出现问题的网站界面如下:

部分网络区域的终端在点击测速按钮后会卡住,整个页面会失去响应。正常情况下应该立刻出现测速指针抖动的画面,像下面这样:

在chrome浏览器上使用F12快捷键打开“开发者工具”,在“网络”标签观察页面请求的耗时情况。多次测试发现有一个URL请求明显超时,显示 TTFB 持续约1分钟。

TTFB 是 Time to First Byte 的缩写,字面翻译是首字节到达时间,可以理解为服务器的页面响应时间。单独访问对应 URL 发现页面开始转圈,与实际网页卡慢的情况一致。整个页面就是被这个请求卡住了。随后登录服务器后台查看相应模块的源代码,在代码中找到了慢的原因。

在测速逻辑中有处理 ISP 即网络运营商的功能,而内网不涉及运营商定位的问题。因为内网到外网不可达,所以在请求公网资源时会出现超时。

处理的思路是注释掉该函数或函数内直接返回空值,处理掉访问外部资源的代码后,网页不再出现卡慢的问题。

总结

自己搭建的服务,在引用的源代码中经常会有外链,当外链访问失败时就会出现卡慢。内网一般都存在对互联网外连的限制,所以当出现偶然性的卡慢时,可以考虑对方的网络是否有特殊限制。

全文完。

如果转发本文,文末务必注明:“转自微信公众号:生有可恋”。

文章转载自生有可恋,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论