【问题标题】:MySQL 8.0.18: Key Efficiency 0.0%MySQL 8.0.18:关键效率 0.0%
【发布时间】: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


【解决方案1】:

嗯,这是出乎意料的。问题解决了。

我们使用的 MySQL 5.7 在 MySQL 模式中具有 MyISAM 表。特别是在某个时候,之前的 DBA 将一些日志记录表从 CSV 更改为 MyISAM; general_log 和 slow_log。这是因为在这些表上执行了一些管理操作(用于 SysAdmin 的仪表板),而 MyISAM 表执行此操作似乎要快一些,因为它们可以被索引。 升级到 8.0.18 时,这些表使用这些表的标准存储引擎重新部署; CSV - 这些没有被索引(因此我们仪表板的两个部分在 8.0.18 上比在 5.7 上慢...我一直想知道,现在我知道为什么了)。

因此,当前的 8.0.18 在任何地方都没有 MyISAM。 Key_blocks_used、Key_read_requests、Key_reads、Key_write_requests、Key_writes 都永久为 0,因此 Workbench 中显示的“Key Efficiency”也是 0.0%。 我会说这是一个错误或工作台中未正确/完全更新的功能。

【讨论】:

  • 他们需要做的就是将消息从 Key Efficiency 更改为 MyISAM Ke​​y Efficiency 以阐明输出的目的,我们都不会花时间研究“为什么”是这个 0.0 恭喜.
猜你喜欢
  • 2019-01-30
  • 2012-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-10
  • 2014-03-22
相关资源
最近更新 更多