【发布时间】:2021-10-14 17:41:38
【问题描述】:
我有一个奇怪的问题。我从 MySQL 5.7.x 迁移到 8.0.x - 最近升级到 8.0.18。 在此之前,关键效率通常为 90% 以上 现在它位于 0.0%。尽管如此,性能似乎非常好(我无法区分之前和之后的区别),所以我给了这个低优先级,现在正在处理它。 我不知道如何解决它。
服务器在主轴磁盘上有 16 个 CPU/16 个内核、64GB RAM、1TB Raid5 SSD + 4TB SAS。几乎所有活动都与存储在 SSD 上的数据有关……主轴磁盘是“旧”数据主要用于老化的地方。 大多数活动是触发器和存储过程。系统接收数据,然后通过触发器和例程进行处理,然后通过来自外部系统的 API 调用读取数据。它不支持网站等的 CRM。
MySQL Workbench "Server Status" view
InnoDB my.cnf:
innodb_log_file_size = 1G
innodb_buffer_pool_size = 52G
innodb_buffer_pool_instances = 16
#innodb_buffer_pool_chunk_size = xxM
innodb_log_buffer_size = 120M
innodb_file_per_table = 1
innodb_page_size = 16384
innodb_sort_buffer_size = 16M
innodb_open_files = 2400
#innodb_max_dirty_pages_pct = 90 # Default = 90
innodb_flush_log_at_trx_commit = 1
innodb_flush_method = O_DIRECT
innodb_checksum_algorithm = crc32
innodb_flush_neighbors = 0
innodb_lock_wait_timeout = 180
【问题讨论】:
-
附加信息请求。在 pastebin.com 上发布并分享链接。从您的 SSH 登录根目录中,文本结果为:B) SHOW GLOBAL STATUS;至少 24 小时正常运行时间后 C) 显示全局变量; D) 显示完整的处理程序; E) 状态; F) 从 information_schema.tables 中选择 COUNT(*);和 可选的非常有用的信息,如果可用,包括 - htop 或 top 用于大多数活动应用程序,ulimit -a 用于 Linux/Unix 限制列表,iostat -xm 5 3 用于按设备和核心/cpu 计数的 IOPS,用于服务器工作负载调整分析提供建议。
-
我发送了数据。有关服务器正在运行 CentOS 7 的信息。 uname -a: Linux DB 3.10.0-1062.9.1.el7.x86_64 #1 SMP Fri Dec 6 15:49:49 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
-
您的 MySQL 5.7 实施是否使用了 MyISAM 数据表?
-
没有。 100% 创新数据库。没有 MyISAM 表。自 2014 年以来没有。
-
我只想重申,我真的认为这是一个错误,关键效率实际上不是 0.0%。我恢复了旧的5.7,让它运行,关键效率是99.9%。 my.cnf 在两种情况下都是相同的:dropbox.com/s/aqj54pmygkxzgum/MySQL_5.7_status.jpg?dl=0
标签: performance caching indexing