HTTP请求缓慢
故障现象:前端数据展示很慢,请求后端接口延迟很高,后端访问数据库很慢
网络状况:VPN、K8S
解决方法:
- 前端访问后端走的VPN网络,修改请求网络,让请求走内网
- 后端访问数据库,走K8S内部网络
排查思路:
先理清数据流:
前端 -> 后端 -> 数据库
排查顺序:数据库,后端,前端
数据库
- SQL 执行速度是否慢?
- CPU是否跑满?
- 内存是否充足?
- 硬盘IO是否开销很大?
- 数据库表是否很大?
- 查询语句是否很复杂?
- 有没有索引?
CPU,内存,硬盘没问题的话,就是查询语句的问题了。
后端
- 如果数据库层面没有问题,后端相关的接口响应很慢,有可能是后端连接数据库的网络有问题。
- 如果走了VPN,很有可能是因为VPN的网络延迟问题
- 如果应用和数据库都部署在 K8S 内部,那么连接使用K8S内部网络。