开发者社区> 问答> 正文

mysql io 写非常多怎么办?

已解决

如下 iotop 的信息,到了非常恐怖的程度,慢查询日志里看到很多简单的关联 SQL 耗时上十秒,而对应的字段都有建立索引,表数据也就数百到一万行的样子。我不是运维,以前优化的事都是运维干,实在搞不懂这个问题出在哪,求教了!

Total DISK READ: 10.58 M/s | Total DISK WRITE: 61.76 M/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
15194 be/4 mysql 0.00 B/s 168.60 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
13975 be/4 mysql 0.00 B/s 946.25 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
14024 be/4 mysql 0.00 B/s 395.70 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
589 be/4 root 0.00 B/s 5.22 M/s 0.00 % 99.99 % [flush-8:0]
14083 be/4 mysql 0.00 B/s 27.53 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
15645 be/4 mysql 0.00 B/s 206.45 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
14123 be/4 mysql 0.00 B/s 168.60 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
13962 be/4 mysql 0.00 B/s 168.60 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
15195 be/4 mysql 0.00 B/s 564.31 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
14341 be/4 mysql 0.00 B/s 182.37 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
15675 be/4 mysql 0.00 B/s 223.66 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
14978 be/4 mysql 0.00 B/s 3.44 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
14041 be/4 mysql 0.00 B/s 134.20 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
14634 be/4 mysql 0.00 B/s 189.25 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
14023 be/4 mysql 0.00 B/s 106.67 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
14717 be/4 mysql 0.00 B/s 51.61 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
15720 be/4 mysql 0.00 B/s 161.72 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
15875 be/4 mysql 0.00 B/s 113.55 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
14920 be/4 mysql 0.00 B/s 134.20 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
14508 be/4 mysql 0.00 B/s 92.90 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
15071 be/4 mysql 0.00 B/s 27.53 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
15473 be/4 mysql 0.00 B/s 223.66 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
15378 be/4 mysql 0.00 B/s 82.58 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
14227 be/4 mysql 0.00 B/s 137.64 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
14346 be/4 mysql 0.00 B/s 82.58 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
14681 be/4 mysql 0.00 B/s 27.53 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
14891 be/4 mysql 0.00 B/s 110.11 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
14713 be/4 mysql 0.00 B/s 27.53 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
14261 be/4 mysql 0.00 B/s 44.73 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
15539 be/4 mysql 0.00 B/s 27.53 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
14035 be/4 mysql 0.00 B/s 134.20 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
14913 be/4 mysql 0.00 B/s 24.09 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
14082 be/4 mysql 0.00 B/s 113.55 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
14397 be/4 mysql 0.00 B/s 371.62 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
14532 be/4 mysql 0.00 B/s 182.37 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
14462 be/4 mysql 0.00 B/s 72.26 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
14699 be/4 mysql 0.00 B/s 147.96 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
14006 be/4 mysql 0.00 B/s 86.02 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
14399 be/4 mysql 0.00 B/s 48.17 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
14381 be/4 mysql 0.00 B/s 58.50 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
14001 be/4 mysql 0.00 B/s 34.41 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
14045 be/4 mysql 0.00 B/s 75.70 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
15234 be/4 mysql 0.00 B/s 261.51 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
15545 be/4 mysql 0.00 B/s 86.02 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
15087 be/4 mysql 0.00 B/s 27.53 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
14638 be/4 mysql 0.00 B/s 178.93 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
15449 be/4 mysql 0.00 B/s 134.20 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
14039 be/4 mysql 0.00 B/s 258.07 K/s 0.00 % 99.99 % mysqld --basedir=/us~lib/mysql/mysql.sock
补充一点,查询以 SELECT 为主,写并不多,表引擎用的 MyISAM

展开
收起
我的中国 2016-02-08 19:58:13 3541 0
3 条回答
写回答
取消 提交回答
  • R&S网络资深工程师 ,阿里云论坛官方版主,阿里云云计算ACP,春考教学网站长,IT技术晋级之路专辑作者
    采纳回答

    光顾着找程序里的写操作去了,其实 slow_query 日志已经能发现问题了。后来发现问题就是出在关联查询上,原来的 join_buffer_size,sort_buffer_size 等缓冲配置得太小了,改大后就OK了。

    2019-07-17 18:28:22
    赞同 展开评论 打赏
  • 这种情况一般都是由慢SQL查询导致,慢SQL非常消耗服务器资源。

    2021-10-15 18:56:45
    赞同 展开评论 打赏
  • 1.可以更换SSD固态硬盘,这样读写速度应该会更快 2.查询速度慢,通过开启慢日志查询,对应的优化SQL语句(例如加索引)

    2021-10-11 16:22:06
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载