mysql优化 - mysql io 写非常多怎么办?

 天使的眼泪174 发布于 2022-11-05 18:18

如下 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

2 个回答
  • 你题目说 写很多,后来又说写不多……能否说说大概会有什么操作嘛?

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

    2022-11-12 01:48 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有