mysql线程池

Posted geek_ace

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql线程池相关的知识,希望对你有一定的参考价值。

mysql连接池与线程池
区别
    连接池是客户端进行设置
    线程池是db服务端设置

连接池的作用
 控制客户端频繁连接DB服务器,和销毁连接线程

线程池的优势
 1.防止雪崩
 2.提高性能,提升系统稳定性
架构
 mysql_thread_pool被划分成一个线程(timer)和多个group,每个group又有对应的工作线程
 timer线程
  控制管理整个group,。。。
 group组成
  两个高低队列
  listener
  worker
线程池简化工作流程
1.客户端的请求根据threadid%thread_pool_size来决定落到哪个group
2.group中的listener监听到有新请求,加入队列或者将其转换成worker线程
3.group中的thread线程检查队列的请求,
 有,处理,没有,则休眠,一直没唤醒的话,超过thread_pool_idle_timeout后,则结束线程退出
 当然Group中running线程数超过thread_pool_oversubscribe+1的话,也会休眠
4.timer线程会一直检查group是否被阻塞,如果有,就唤醒worker线程或者重建

 


























以上是关于mysql线程池的主要内容,如果未能解决你的问题,请参考以下文章

mysql线程池与连接池

Mysql线程池优化笔记

[15]es线程池的优化

Mysql线程池系列一:什么是线程池和连接池( thread_pool 和 connection_pool)

Python—MySQL线程池

mysql 开启线程池