MySQL 8.4 Release Notes
7.6.3 MySQL 企业线程池
Note
MySQL 企业线程池是 MySQL 企业版的一部分,一个商业产品。要了解更多关于商业产品的信息,请访问https://www.mysql.com/products/。
MySQL 企业版包括 MySQL 企业线程池,该插件使用服务器插件实现。MySQL 服务器的默认线程模型使用一个线程处理每个客户端连接。随着更多客户端连接到服务器并执行语句,整体性能将下降。线程池插件提供了一个线程处理模型,旨在减少开销并提高性能。该插件实现了一个线程池,通过高效地管理客户端连接的语句执行线程来提高服务器性能。
线程池解决了使用一个线程处理每个连接的模型的问题:
-
太多线程堆栈使 CPU 缓存几乎无用在高度并行执行工作负载中。线程池促进线程堆栈重用以最小化 CPU 缓存 footprint。
-
太多线程并行执行,导致上下文切换开销高。这个问题也对操作系统调度器造成挑战。线程池控制活动线程的数量,以保持 MySQL 服务器的并行性在可控的范围内,并且适合于 MySQL 在执行的服务器主机。
-
太多事务并行执行增加资源竞争。在
InnoDB
中,这增加了对中心互斥锁的持有时间。线程池控制事务开始,以确保不太多的事务并行执行。