如何检查客户端请求时间过长
1. 运行环境#
采用 go beego 做的 Api 处理
采用 nginx 做的反向代理 (主要为了处理 https 请求)
3). 当前系统#
CentOS 8
4). 业务环境#
生产环境
2. 问题描述#
公司的一台主机 (机房里) 上配置了两个网卡,要求提供一个 api 接收文件并上传到云对象存储,要保证有一个内网的网卡接收上传的文件,用另一个网卡上传文件。
目前我使用谷歌浏览器上传 4M 的视频的需要 50 多秒的请求时长,有时候又不到 1S,换 Safari 浏览器只需要 800 毫秒 - 3 秒,而我在 postman 中上传该文件则只需要 1000+ms。
谷歌浏览器
Safari 浏览器
postman
目前尝试过#
查看 nginx 日志,发现日志是正常的
采用其他格式大小的文件上传,出现一样的情况 // 排除文件问题
将 https 换过 http 请求 // 排除 SSL 问题
公司不同的同事上传相同大小的文件,相同的浏览器 // 上传时间大家不一样
采用谷歌浏览器调用别的上传文件 api (不是内网) 依然需要等待 50S, 清空了一遍谷歌浏览器的文件缓存 + 开启了内存节省程序,问题依然存在
go bee 运行日志如下
2023/05/11 21:31:07.157 [D] [server.go:2887] | 192.168.2.183| 200 | 106.366µs| nomatch| OPTIONS /ad/lianshan_receive
2023/05/11 21:31:59.555 **[D]** [server.go:2887] | 192.168.2.183| 200 | 487.035404ms| match| POST /ad/lianshan_receive r:/ad/lianshan_receive
请问如何将上传时间稳定到 1S 以内,或者如何排查这类问题,谢谢大佬们!
推荐文章: