Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 Reference Manual  /  ...  /  MySQL Enterprise Thread Pool

7.6.3 MySQL 企业线程池

Note

MySQL 企业线程池是 MySQL 企业版的一部分,一个商业产品。要了解更多关于商业产品的信息,请访问https://www.mysql.com/products/

MySQL 企业版包括 MySQL 企业线程池,该插件使用服务器插件实现。MySQL 服务器的默认线程模型使用一个线程处理每个客户端连接。随着更多客户端连接到服务器并执行语句,整体性能将下降。线程池插件提供了一个线程处理模型,旨在减少开销并提高性能。该插件实现了一个线程池,通过高效地管理客户端连接的语句执行线程来提高服务器性能。

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

  • 太多线程堆栈使 CPU 缓存几乎无用在高度并行执行工作负载中。线程池促进线程堆栈重用以最小化 CPU 缓存 footprint。

  • 太多线程并行执行,导致上下文切换开销高。这个问题也对操作系统调度器造成挑战。线程池控制活动线程的数量,以保持 MySQL 服务器的并行性在可控的范围内,并且适合于 MySQL 在执行的服务器主机。

  • 太多事务并行执行增加资源竞争。在InnoDB中,这增加了对中心互斥锁的持有时间。线程池控制事务开始,以确保不太多的事务并行执行。

第 A.15 节,“MySQL 8.4 FAQ: MySQL Enterprise Thread Pool”