MySQL 8.4 发行说明
注意
MySQL 企业线程池是 MySQL 企业版(商业产品)中包含的扩展。要了解有关商业产品的更多信息,请访问 https://www.mysqlserver.cn/products/.
MySQL 企业版包含 MySQL 企业线程池,使用服务器插件实现。MySQL 服务器中的默认线程处理模型使用每个客户端连接一个线程来执行语句。随着更多客户端连接到服务器并执行语句,整体性能会下降。线程池插件提供了一种替代的线程处理模型,旨在降低开销并提高性能。该插件实现了一个线程池,通过有效地管理大量客户端连接的语句执行线程来提高服务器性能。
线程池解决了使用每个连接一个线程的模型的几个问题
过多的线程堆栈使 CPU 缓存几乎在高度并行执行工作负载中无用。线程池促进线程堆栈重用以最大限度地减少 CPU 缓存占用空间。
由于有太多线程并行执行,上下文切换开销很高。这也给操作系统调度程序带来了挑战。线程池控制活动线程的数量,以使 MySQL 服务器的并行度保持在它可以处理的水平,并且适合执行 MySQL 的服务器主机。
过多的并行执行事务会增加资源竞争。在
InnoDB
中,这会增加花费在持有中央互斥锁上的时间。线程池控制事务何时开始,以确保没有太多事务并行执行。