Linux下Http请求Waiting时间过长问题定位处理

1、问题描述

客户反应线上的生产系统模块列表和详情页面打开都比较卡顿

2、原因定位

上图未修改之前waiting时间 是1.5秒左右。

一开始认为可能是数据库查询比较慢,但是将SQL拿到数据库查询速度很快,大约为0.1秒左右

接下来就考虑是不是服务器性能问题,于是执行top命令,查看CPU消耗情况

上图是修改过情况,没修改前COMMAND这一列有很多wc,cat命令,于是联想到是不是可能是脚本的问题导致的

于是执行crontab -e查看脚本情况

发现有一个一分钟频繁执行的校验脚本,而且现在这个脚本并不起实际作用,于是注释掉该脚本,重新load定时任务配置

/sbin/service crond reload

再次查看,就只剩Java脚本了,服务器响应速度也迅速提升

### 解决 Docker 连接 `registry-1.docker.io` 请求取消问题 当遇到类似于 `net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)` 的错误时,通常是由于网络连接超时或不稳定造成的。以下是几种可能的解决方案: #### 1. 修改 Docker 配置文件增加超时时间 可以通过修改 Docker 守护进程配置来延长 HTTP 超时时间。编辑 `/etc/docker/daemon.json` 文件并加入如下内容[^1]: ```json { "max-concurrent-downloads": 3, "http-proxy": "", "https-proxy": "", "no-proxy": "localhost,127.0.0.1", "default-ulimits": { "nofile": { "Name": "nofile", "Hard": 65535, "Soft": 65535 } }, "debug": true, "experimental": false, "registry-mirrors": ["https://your.mirror.here"], "live-restore": true, "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" }, "dns": ["8.8.8.8", "8.8.4.4"] } ``` 请注意,在上述 JSON 中添加 `"timeout"` 参数并不是有效的选项;相反应该考虑调整其他参数如 DNS 设置以改善整体性能。 #### 2. 使用国内镜像源作为加速器 对于中国地区的开发者来说,可以尝试使用阿里云或其他服务商提供的 Docker Hub 加速服务。具体操作是在同一份 `daemon.json` 文件内追加 `"registry-mirrors"` 字段指定加速链接[^2]: ```json "registry-mirrors": [ "https://hub-mirror.qiniu.com/", "https://reg-mirror.qiniu.com/" ] ``` 重启 Docker 后即可生效: ```bash sudo systemctl restart docker ``` #### 3. 检查本地网络环境与防火墙设置 确认本机到目标服务器之间的路由畅通无阻,并且没有任何安全设备阻止了访问。如果处于企业内部网,则需联系 IT 支持人员协助排查是否有特定策略影响到了对外部资源的获取权限。 另外也要留意操作系统自带的安全防护机制是否会干扰正常通信过程——例如 Windows Defender 或者 Linux 上面运行着 iptables 规则集等情形下都可能导致此类异常现象发生。 通过以上措施往往能够有效缓解乃至彻底解决问题所描述的现象。当然实际效果还需视具体情况而定,必要时候建议进一步收集日志信息以便更精准定位根本原因所在。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值