问题描述
我在内部 IIS 8.5 Windows 2012R2 服务器上托管了一个 VB.NET/Vue 网站。我们公司在任何给定时间都有大约 30 名用户使用该网站。用户一整天都在经历随机延迟,有些日子没有延迟(网站大部分时间都运行良好)。我正在寻找的是关于从哪里开始寻找解决问题的任何建议。这是我目前发现的内容。
- 用户访问站点并从 UI 发起 api 请求
- 当请求返回时,用户会在最多一分钟左右的时间内看到加载图标
- 请求最终在一段时间后到达服务器,并在几毫秒内快速执行并将响应返回给用户
- 此时,许多用户已经刷新了页面,提出了在页面加载时成功的新请求。对于耐心等待响应的用户,它最终会返回响应。
以下是一些截图:
总而言之,每天都有几个用户遇到延迟。
有时我们没有任何延迟,但大多数时候我们有几个用户遇到多次延迟,从几秒到 30 秒到 1 分钟不等。
我使用 LogRocket 和 NewRelic 发现了所有这些,发生的事情是所有这些请求都在几毫秒内完成,但请求似乎在一段时间内没有到达服务器。
我一直在监控这些服务器上的 cpu/内存/网络,当这些问题发生时,我觉得一切正常。
问题似乎出在用户计算机与到达网络服务器之前存在的任何硬件/软件之间。
在此处更新...发现在所有这些情况下,问题都发生在用户计算机上。使用谷歌浏览器的性能 api,我能够跟踪这些请求的计时信息,并发现问题出在 fetchStart 中。所以这里发生的一切都是问题的根源。
示例如下:
entryType:资源 开始时间:1119531.820000033 持续时间:56882.43999995757 发起者类型:xmlhttprequest nextHop 协议:http/1.1 工人开始:0 重定向开始:0 重定向结束:0 fetchStart: 1119531.820000033 domainLookupStart: 1176401.0199999902 domainLookupEnd:1176402.2699999623 连接开始:1176402.2699999623 连接结束:1176404.8350000521 安全连接开始:1176403.6700000288 请求开始:1176404.8549999716 响应开始:1176413.5300000198 回复结束:1176414.2599999905 传输大小:15145 编码体尺寸:14884 解码体大小:14884 服务器时间:[] 工人时间:[]
fetchStart 在 1119531.820000033,然后 requestStart 在 1176404.8549999716 所以问题是在 fetchStart 和 requestStart 之间。仍在调查导致这种情况的原因。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)