我有个奇怪的问题。我从MySQL 5.7.x迁移到8.0.x -最近升级到8.0.18。在此之前,关键效率通常位于90%+,现在为0.0%。尽管如此,性能看起来绝对很好(我无法区分前后的区别),所以我给了这个低优先级,现在正在着手解决它。我对如何解决这个问题感到有点困惑。
该服务器具有16个CPU/16核、64 on内存、1 4TB Raid5固态硬盘和4 4TB主轴磁盘上的SAS。几乎所有的活动都是存储在SSD...the磁盘轴上的数据,这些磁盘上的“旧”数据大多会因老化而死亡。大多数活动都是触发器和存储过程。向系统提供数据,这些数据依次通过触发器和例程进行处理,然后通过来自外部系统的API调用进行读取。它不支持网站等的客户关系管理。
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发布于 2021-08-20 09:07:47
这是意想不到的。问题解决了。
我们使用的MySQL 5.7在MySQL模式中有MyISAM表。具体地说,以前的数据库管理员在某些时候更改了MyISAM、general_log和slow_log的CSV的一些日志表。这是因为在这些表上执行了一些管理操作(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,因此工作台中显示的“关键效率”也是0.0%。我会说这要么是一个bug,要么是Workbench中没有正确/完全更新的特性。
https://stackoverflow.com/questions/68738998
复制相似问题