当前位置:  数据库>mysql

MariaDB中的thread pool详细介绍和使用方法

    来源: 互联网  发布时间:2014-10-16

    本文导语:  Thread pool是什么 MySQL是每个连接上来都要创建一个线程来执行语句。这样每一个新的连接进来即会创建一个新的线程,这种动作对MySQL本身压力比较大。Threadpool是提供一种线程代理的模型执行每个连接的语句。而MySQL内部维护一...

Thread pool是什么

MySQL是每个连接上来都要创建一个线程来执行语句。这样每一个新的连接进来即会创建一个新的线程,这种动作对MySQL本身压力比较大。Threadpool是提供一种线程代理的模型执行每个连接的语句。而MySQL内部维护一个可能接受的线程总数,减少线程太多在CPU切换等方面的压力。

使用Threadpool的好处

1.使用线程代理的模型在连接数已知可控的情况下,提前创建好过线程并利用操作系统的threadpool技术维护,能减少很多开销。

2.尽可能的使用操作系统的线程方面的管理,把线程管理开销降到最低。 3. 利用
thread_pool_max_threads控制资源使用

什么情况下Thread Pool作用比较小:

1.并发太高及有长的语句操作。 如:内部threadpool的总数为:10个,外面并发来了1000个请求,现在都来争用这10个内部线程,这个开销也比较重。同样道理加大threadpool后,innodb内部的并发也会受到限制。

2.突发的大量连接。这个情况下threadpool还有一定的作用,但是效果不明显了。如果为了防止大量的连接进来。可以考虑增加thread_pool_min_threads及thread_pool_idle_timeout的值,让平时也维护一个大的threadpool

3.高并发的环境,有可能简单的查询也会变慢。虽然select 1;这样的查询很简单应该会很快完成。但在threadpool的下面也需要排队等待从theadpool得到可用的线程才能执行。

使用方法:

目前支持threadpool的有MariaDB, Percona, 官方MySQL的一个收费功能。配置启用。

在my.cnf

代码如下:

[mysqld]
#thread pool
thread_handling=pool-of-threads

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • MariaDB 5.5.33a Stable(稳定)版介绍及下载地址
  • MariaDB Galera Cluster
  • MariaDB 10.0.4 Alpha 版介绍及下载地址
  • MariaDB Native Client
  • MariaDB Java Client
  • MySQL 分支 MariaDB
  • MariaDB 和 MySQL 的审计插件 sqlstats
  • C#连接mariadb(MYSQL分支)代码示例分享
  • MariaDB(Mysql分支)my.cnf配置文件中文注释版


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3