一次数据库响应缓慢的问题排查

简介: 今天客户说有一个job跑的特别慢。想看看到底是不是数据库这边有什么问题了。 使用top来查看,io wait将近30%,已经算是负载比较重的了。 和客户确认从什么时候发现速度开始变慢的,他们说大概是从中午以后。
今天客户说有一个job跑的特别慢。想看看到底是不是数据库这边有什么问题了。
使用top来查看,io wait将近30%,已经算是负载比较重的了。


和客户确认从什么时候发现速度开始变慢的,他们说大概是从中午以后。
使用sar来看一下,确实是从iowait从:1:00开始有了大量的io 

10:40:01 AM       CPU     %user     %nice   %system   %iowait    %steal     %idle

10:50:02 AM       all      7.59      0.00      1.38      3.82      0.00     87.21

11:00:01 AM       all      7.59      0.00      1.48      4.21      0.00     86.72

11:10:01 AM       all      7.46      0.00      1.69      4.52      0.00     86.33

11:20:01 AM       all      7.59      0.00      1.66      4.61      0.00     86.14

11:30:01 AM       all      7.47      0.00      1.53      4.37      0.00     86.62

11:40:01 AM       all      6.40      0.00      0.73      2.17      0.00     90.71

11:50:01 AM       all      6.04      0.00      0.55      1.51      0.00     91.89

12:00:02 PM       all      5.92      0.00      0.54      1.64      0.00     91.91

12:10:01 PM       all      5.95      0.00      0.82      2.01      0.00     91.23

12:20:02 PM       all      6.28      0.00      0.82      1.92      0.00     90.98

12:30:01 PM       all      6.82      0.00      0.90      2.06      0.00     90.22

12:40:01 PM       all      7.94      0.00      1.47      3.52      0.00     87.06

12:50:01 PM       all      8.01      0.00      1.55      3.78      0.00     86.65

01:00:01 PM       all      8.45      0.00      1.27     26.44      0.00     63.83

01:10:01 PM       all      7.28      0.00      1.05     47.89      0.00     43.78

01:20:01 PM       all      7.25      0.00      0.96     47.00      0.00     44.78

01:30:02 PM       all      7.62      0.00      1.04     44.31      0.00     47.03

01:40:01 PM       all      7.80      0.00      1.14     40.77      0.00     50.29

01:50:02 PM       all      7.99      0.00      1.15     44.40      0.00     46.46

02:00:01 PM       all      7.90      0.00      1.15     38.89      0.00     52.07

02:10:01 PM       all      7.16      0.00      1.15     43.83      0.00     47.85

02:20:01 PM       all      7.27      0.00      1.06     38.18      0.00     53.49

02:30:01 PM       all      7.29      0.00      1.04     35.64      0.00     56.03

02:40:01 PM       all      7.13      0.00      1.13     43.12      0.00     48.62

02:50:01 PM       all      8.45      0.01      1.36     43.24      0.00     46.95

03:00:02 PM       all      7.89      0.00      1.20     36.92      0.00     53.98

03:10:01 PM       all      6.73      0.00      1.09     42.51      0.00     49.68

03:20:02 PM       all      6.82      0.00      0.96     42.68      0.00     49.54

03:30:01 PM       all      6.64      0.00      0.95     44.15      0.00     48.26

03:40:02 PM       all      7.19      0.00      1.09     37.35      0.00     54.36

03:50:01 PM       all      6.70      0.00      1.06     39.24      0.00     53.00

04:00:02 PM       all      6.70      0.00      1.04     43.66      0.00     48.60

04:10:01 PM       all      6.98      0.00      1.08     40.17      0.00     51.77

04:20:02 PM       all      6.96      0.00      1.02     31.54      0.00     60.48

Average:          all      6.41      0.00      0.75      9.96      0.00     82.87


对于cpu的使用率高的问题,据我所知,这几天在做性能测试,cpu的消耗是可以接受的。
但是io的问题得有一个让人信服的结论,于是我使用dd来做了一个简单地测试,发现确实有很大的差距,
> time dd if=/dev/zero bs=1M count=204 of=direct_200M
414+0 records in
414+0 records out
434110464 bytes (434 MB) copied, 103.742 seconds, 4.2 MB/s

在另外一个环境中做了对比测试,

> time dd if=/dev/zero bs=1M count=204 of=direct_200M
204+0 records in
204+0 records out
213909504 bytes (214 MB) copied, 1.44182 seconds, 148 MB/s

real    0m1.445s
user    0m0.001s
sys     0m0.039s

所以问题可以和unix team来协调了。昨天晚上的时候客户反馈确实是san存储出了问题,当时正在做san存储的切换,所以导致访问速度受到影响。
早上就验证了一下。
> time dd if=/dev/zero bs=1M count=204 of=direct_200M
204+0 records in
204+0 records out
213909504 bytes (214 MB) copied, 0.448161 seconds, 477 MB/s

real    0m0.459s
user    0m0.001s
sys     0m0.061s


目录
相关文章
|
7月前
|
Prometheus 网络协议 JavaScript
api 网关 kong 数据库记录请求响应报文
Kong的tcp-log-with-body插件是一个高效的工具,它能够转发Kong处理的请求和响应。这个插件非常适用于需要详细记录API请求和响应信息的情景,尤其是在调试和排查问题时。
196 0
api 网关 kong 数据库记录请求响应报文
|
SQL 监控 Oracle
Oracle 数据库发生等待事件:enq: TX - row lock contention ,排查思路
Oracle 数据库发生等待事件:enq: TX - row lock contention ,排查思路
Oracle 数据库发生等待事件:enq: TX - row lock contention ,排查思路
|
23天前
|
存储 监控 数据处理
flink 向doris 数据库写入数据时出现背压如何排查?
本文介绍了如何确定和解决Flink任务向Doris数据库写入数据时遇到的背压问题。首先通过Flink Web UI和性能指标监控识别背压,然后从Doris数据库性能、网络连接稳定性、Flink任务数据处理逻辑及资源配置等方面排查原因,并通过分析相关日志进一步定位问题。
155 61
|
4月前
|
SQL 关系型数据库 MySQL
遇到mysql数据库死锁,你会怎么排查?
遇到mysql数据库死锁,你会怎么排查?
326 0
|
2月前
|
缓存 弹性计算 NoSQL
新一期陪跑班开课啦!阿里云专家手把手带你体验高并发下利用云数据库缓存实现极速响应
新一期陪跑班开课啦!阿里云专家手把手带你体验高并发下利用云数据库缓存实现极速响应
|
1月前
|
SQL 关系型数据库 数据库连接
"Nacos 2.1.0版本数据库配置写入难题破解攻略:一步步教你排查连接、权限和配置问题,重启服务轻松解决!"
【10月更文挑战第23天】在使用Nacos 2.1.0版本时,可能会遇到无法将配置信息写入数据库的问题。本文将引导你逐步解决这一问题,包括检查数据库连接、用户权限、Nacos配置文件,并提供示例代码和详细步骤。通过这些方法,你可以有效解决配置写入失败的问题。
66 0
|
4月前
|
存储 消息中间件 人工智能
AI大模型独角兽 MiniMax 基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志系统,PB 数据秒级查询响应
早期 MiniMax 基于 Grafana Loki 构建了日志系统,在资源消耗、写入性能及系统稳定性上都面临巨大的挑战。为此 MiniMax 开始寻找全新的日志系统方案,并基于阿里云数据库 SelectDB 版内核 Apache Doris 升级了日志系统,新系统已接入 MiniMax 内部所有业务线日志数据,数据规模为 PB 级, 整体可用性达到 99.9% 以上,10 亿级日志数据的检索速度可实现秒级响应。
AI大模型独角兽 MiniMax 基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志系统,PB 数据秒级查询响应
|
4月前
|
Java XML Maven
跨越时代的飞跃:Struts 2 升级秘籍——从旧版本无缝迁移到最新版,焕发应用新生!
【8月更文挑战第31天】随着软件技术的发展,Struts 2 框架也在不断更新。本文通过具体案例指导开发者如何从旧版平滑升级到 Struts 2.6.x。首先更新 `pom.xml` 中的依赖版本,并执行 `mvn clean install`。接着检查 `struts.xml` 配置,确保符合新版本要求,调整包扫描器等设置。审查 Action 类及其注解,检查配置文件中的弃用项及插件。更新自定义拦截器实现,并验证日志配置。最后,通过一系列测试确保升级后的系统正常运行。通过这些步骤,可以顺利完成 Struts 2 的版本升级,提升应用的安全性和性能。
457 0
|
4月前
|
SQL 关系型数据库 MySQL
SQL性能调优的神奇之处:如何用优化技巧让你的数据库查询飞起来,实现秒级响应?
【8月更文挑战第31天】在现代软件开发中,数据库性能至关重要。本文通过一个实战案例,展示了从慢查询到秒级响应的全过程。通过对查询的详细分析与优化,包括创建索引、改进查询语句及数据类型选择等措施,最终显著提升了性能。文章还提供了示例代码及最佳实践建议,帮助读者掌握SQL性能调优的核心技巧。
257 0
|
6月前
|
运维 数据管理 数据库
数据管理DMS产品使用合集之遇到报错:数据库账号没有权限执行,该如何排查
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
64 2