暂无图片
暂无图片
4
暂无图片
暂无图片
暂无图片

MySQL8.0 新增的并行能力参数解读

原创 CuiHulong 2025-01-07
934

并行能力是指在处理多个任务或操作时,能够同时执行多个操作的能力。在MySQL中,并能能力可以提高数据库系统的处理能力和性能,从而更好地满足用户的需求。当然也需要合理地设计和配置并行参数,可以充分发挥并行性的优势,提高系统的吞吐量和响应速度。在MySQL8.0中新增的并行参数有innodb_ddl_threads,innodb_parallel_read_threads,innodb_log_writer_threads,在一些场景中都能提到很好的提升效果。

对比MySQL5.7版本,MySQL8.0.40版本发现多了3个并行参数。

mysql> show variables like '%threads'; +------------------------------+-------+ | Variable_name | Value | +------------------------------+-------+ | innodb_ddl_threads | 4 | | innodb_log_writer_threads | ON | | innodb_parallel_read_threads | 4 | 。。。

下面介绍MySQL8.0新增的并行参数。

innodb_log_writer_threads

innodb_log_writer_threads用于将Redo日志记录从日志缓冲区写入系统缓冲区,并将系统缓冲区刷新为Redo日志文件。
此参数出现缘由,应该跟Redo日志文件大小参数innodb_redo_log_capacity有关。在MySQL8.0版本中InnoDB引擎把Redo日志切分位32个相同大小的日志文件,每个文件等于1/32*InnoDB_redo_log_capacity的小。因此,多个问下下,可以很好使使用并行能力提高Redo的处理能力。

innodb_log_writer_threads的默认值4,可以提高高并发系统的性能,但对于低并发系统,资源配置低的系统,禁用此参数可以提供更好的性能。

innodb_parallel_read_threads

在MySQL 8.0.14 引入了innodb_parallel_read_threads参数来控制扫描“聚簇索引”的并行线程。此功能不适用于二级索引扫描。并行读取线程可以提高CHECK TABLE的性能。InnoDB在CHECK TABLE操作期间读取聚集索引两次。第二次读取可以并行执行。MySQL 8.0.17支持分区的并行扫描。

此参数必须设置为大于1的值,才能进行并行读取。普遍新读取的数据被插入缓冲区的距离LRU列表尾部3/8(innodb_old_blocks_pct)的位置。但并行读取的数据保存到缓冲池中的页面的缓冲池LRU列表的末尾,以便在需要空闲缓冲池页面时可以快速丢弃。在一些计划场景下,新旧数据交替是非常频繁的,对缓冲区冲击不小。所以选择合适场景。

从MySQL 8.0.17开始,并行读取线程的最大数量(256)是所有客户端连接的线程总数。如果达到线程限制,连接将退回到使用单个线程。同时默认值是通过系统上可用逻辑处理器的数量除以8来计算的,最小默认值为4。

综合上述情况,起码合适设置。最好应该遵守 =< CPU/8。

innodb_ddl_threads

MySQL 8.0.27 引入了 innodb_ddl_threads 变量来控制用于创建二级索引时的并行线程数量,此参数一般和一并引入的 innodb_ddl_buffer_size 一起使用,innodb_ddl_buffer_size 用于指定进行并行DDL操作时能够使用的buffer大小,buffer是在所有的DDL并行线程中平均分配的,所以一般如果调大innodb_ddl_threads参数,也需要调大 innodb_ddl_buffer_size的大小。

下面是网上当调整innodb_ddl_threads,innodb_ddl_buffer_size ,innodb_parallel_read_threads 性能测试。仅参考:
image.png

总结

合理使用并行能力可以显著缩短操作时间并提升系统性能。MySQL的这些并行参数,都是可以动态进行调整的。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论