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

5.6.3 MySQL企业线程池

原创 由迪 2020-08-18
715

注意

MySQL Enterprise Thread Pool是商业产品MySQL Enterprise Edition中包含的扩展。要了解有关商业产品的更多信息, 请访问https://www.mysql.com/products/

MySQL Enterprise Edition包含使用服务器插件实现的MySQL Enterprise Thread Pool。MySQL Server中的默认线程处理模型在每个客户端连接中使用一个线程执行语句。随着越来越多的客户端连接到服务器并执行语句,整体性能下降。线程池插件提供了另一种线程处理模型,旨在减少开销并提高性能。该插件实现了一个线程池,该线程池通过有效地管理大量客户端连接的语句执行线程来提高服务器性能。

线程池解决了每个连接使用一个线程的模型的几个问题:

  • 太多的线程堆栈使CPU缓存在高度并行执行工作负载中几乎无用。线程池可促进线程堆栈的重用,以最大程度地减少CPU缓存的占用。
  • 由于并行执行的线程过多,上下文切换开销很高。这也给操作系统调度程序提出了艰巨的任务。线程池控制活动线程的数量,以将MySQL服务器内的并行性保持在它可以处理的水平,并且该级别适用于正在执行MySQL的服务器主机。
  • 并行执行的事务过多会增加资源争用。在中InnoDB,这会增加保持中央互斥锁所花费的时间。线程池控制事务开始的时间,以确保不会有太多并行执行。

其他资源

第A.15节“ MySQL 8.0 FAQ:MySQL企业线程池”

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

评论