欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MySQL 线程池

程序员文章站 2022-06-11 13:09:20
...

MySQL 采用多线程来处理并发的连接,通过 mysqlreport 中的 Threads 部分,我们可以看到线程创建的统计结果:


MySQL 线程池
            
    
    博客分类: 数据库  
 

每秒创建43.6个线程,虽然创建线程的开销不值一提,但是当系统比较繁忙的时候,我们当然不希望再给它添麻烦。

一个比较好的办法是在应用中尽量使用持久连接,这将在一定程度上减少线程的重复创建。另一方面,从上面的 Cache = 0 可以看出,这些线程并没有被复用,我们可以在 my.cnf 中设置一下选项:

 

thread_cache_size = 100

 

这使得 MySQL 可以缓存 100 个线程。随后我们获得新的 mysqlreport 报告,Threads 部分如下所示:

 
MySQL 线程池
            
    
    博客分类: 数据库  
 

可以看到,MySQL 在长达5天多的时间里,平均每秒处理 45.1 个连接,但是一共只创建了 186 个线程,线程池的命中率为 100%。

 

  • MySQL 线程池
            
    
    博客分类: 数据库  
  • 大小: 14.4 KB
  • MySQL 线程池
            
    
    博客分类: 数据库  
  • 大小: 37.3 KB