14.6.6 Configuring Thread Concurrency for InnoDB  配置线程并发

InnoDB 使用操作系统线程来处理请求(用户事务) 事务可能执行很多次在它们提交或者回滚前。

在现在的操作系统,具有多核CPU 上下文切换是有效的, 很多的负载运行很好没有任何并发线程数量的限制

在这种情况下 它是用助于最小化上下文切换在线程之间,

InnoDB 使用一些技术来限制并发执行操作系统线程的数量(也就是说请求的数量任何一个时间的处理数量)

当InnoDB 从用户会话接收一个新的请求,如果 并发线程的数量是在一个预定义的限制,

新的请求会sleep一段时间在他再次尝试前。

你可以设置并发线程的数量 通过设置r innodb_thread_concurrency参数

mysql> show variables like '%innodb_thread_concurrency%';
+---------------------------+-------+
| Variable_name | Value |
+---------------------------+-------+
| innodb_thread_concurrency | 0 |
+---------------------------+-------+
1 row in set (0.00 sec) 一旦并发线程的数量达到这个值, 额外的线程sleep 会等待数微妙 mysql> show variables like '%innodb_thread_sleep_delay%';
+---------------------------+-------+
| Variable_name | Value |
+---------------------------+-------+
| innodb_thread_sleep_delay | 10000 |
+---------------------------+-------+
1 row in set (0.00 sec)
此前,它需要实验来找出最有的值对于innodb_thread_sleep_delay, 最有的值 可以改变取决于负载。 在MySQL 5.6.3 and higher, 你可以设置配置选项 innodb_adaptive_max_sleep_delay为高的值 InnoDB 自动调整innodb_thread_sleep_delay up或者down 取决于当前线程的活动 默认值对于innodb_thread_concurrency 和说明默认限制在并发线程数量上已经被改变了再各个版本 innodb_thread_concurrency 默认值是0,这样没有没有限制 InnoDB 导致线程sleep 只有当并发线程的数量被限制。 当没有线程限制时,所有的竞争都会被调度。 也就是说,如果 innodb_thread_concurrency设置为0, innodb_thread_sleep_delay 会被忽略 当有一个线程数限制时(当innodb_thread_concurrency is > 0), InnoDB 减少上下文切换通过运行多个请求在一个SQL语句执行到InnoDB 没有观察限制通过innodb_thread_concurrency.

14.6.6 Configuring Thread Concurrency for InnoDB 配置线程并发的更多相关文章

  1. 14.4.6 Configuring Thread Concurrency for InnoDB 配置Thread 并发

    14.4.6 Configuring Thread Concurrency for InnoDB 配置Thread 并发 InnoDB 使用操作系统threads 来处理用户的事务请求.(事务可以执行 ...

  2. 14.6.11 Configuring Optimizer Statistics for InnoDB 配置优化统计信息用于InnoDB

    14.6.11 Configuring Optimizer Statistics for InnoDB 配置优化统计信息用于InnoDB 14.6.11.1 Configuring Persisten ...

  3. 15.6.6 Configuring Thread Concurrency for InnoDB

    innodb_thread_concurrency 设置inndb线程个数,如果超过则休眠一段时间,时间根据 innodb_thread_sleep_delay 单位为微妙,然后放进队列. innod ...

  4. MySQL InnoDB配置并发线程( innodb_thread_concurrency)

    http://www.ywnds.com/?p=9821 一.thread_concurrency 首先,最重要的一点,这个参数已经在最新版本的MySQL中被移除了,官方最新5.7版本的doc上面对t ...

  5. 14.6.8 Configuring the InnoDB Master Thread IO Rate 配置InnoDB 主线程IO 速率:

    14.6.8 Configuring the InnoDB Master Thread IO Rate 配置InnoDB 主线程IO 速率: 主线程 在InnoDB 是一个线程 执行各种任务在后台. ...

  6. 14.4.8 Configuring the InnoDB Master Thread IO Rate 配置InnoDB Master Thread I/O Rate

    14.4.8 Configuring the InnoDB Master Thread IO Rate 配置InnoDB Master Thread I/O Rate 主的master thread ...

  7. 14.6.7 Configuring the Number of Background InnoDB IO Threads 配置InnoDB IO Threads的数量

    14.6.7 Configuring the Number of Background InnoDB IO Threads 配置InnoDB IO Threads的数量 InnoDB 使用后台线程来服 ...

  8. 14.6.2 Configuring InnoDB for Read-Only Operation

    14.6.2 Configuring InnoDB for Read-Only Operation 配置InnoDB只读操作 你可以查询InnoDB 表MySQL 数据目录是一个只读介质,通过启用 - ...

  9. 14.4.7 Configuring the Number of Background InnoDB IO Threads 配置 后台InnoDB IO Threads的数量

    14.4.7 Configuring the Number of Background InnoDB IO Threads 配置 后台InnoDB IO Threads的数量 InnoDB 使用bac ...

随机推荐

  1. Oracle 安装安全补丁过程中出现的问题

    为Oracle安装安全补丁,首先在官网上下载相应版本的补丁. 根据官方文档的说明安装,但是在安装的过程中会出项各种各样的错误,这里仅仅把我遇到的记录下来,给大家提供参考. 首先按照官方文档安装. 在这 ...

  2. Java基础知识强化之集合框架笔记53:Map集合之Map集合的遍历 键值对对象找键和值

    1. Map集合的遍历(键值对对象找键和值) Map -- 夫妻对  思路:  A: 获取所有结婚证的集合  B: 遍历结婚证的集合,得到每一个结婚证  C: 根据结婚证获取丈夫和妻子 转换:  A: ...

  3. Chapter 3. Installing Gradle 安装gradle

    3.1. Prerequisites Gradle requires a Java JDK or JRE to be installed, version 6 or higher (to check, ...

  4. 构建可克隆的对象(ICloneable)

    ICloneable接口 如果想使自己的自定义类型支持向调用方返回自身同样副本的能力,需要实现标准ICloneable接口. namespace System { // // 摘要: // Suppo ...

  5. ssh 无密码登录远程服务器

    在讲下文之前,我都默许大家都已经生成了自己的ssh公钥和密钥,在自己的~/.ssh 目录下面,如果没有,请使用 ssh-keygen -t rsa -C "你的邮箱" 命令生成 1 ...

  6. JS手动创建标签

    代码: <html> <head> <title>js标签属性的添加</title> <script > function setxxx() ...

  7. Sqlserver通过链接服务器访问Oracle的解决办法

    转自http://blog.sina.com.cn/s/blog_614b6f210100t80r.html 一.创建sqlserver链接服务(sqlserver链接oracle)  首先sqlse ...

  8. OC加强-day01

    #pragma mark - 00 知识回顾 1.@property + 类型 + 属性名 :执行的结果 1>在类的.m里面生成一个_属性名的属性 2>生成 _属性名 这个属性的set/g ...

  9. uniq和sort的用法

    uniq和sort都是按行操作的linux命令. sort按文本行排序,如下所示的log文件:直接sort log即可将其排序. 容易忽略的是sort -n命令,在如下例子中将看到 如果直接sort则 ...

  10. boost::bind实践2——来自《Beyond the C++ Standard Library ( An Introduction to Boost )》

    直接代码: 代码段1: #include <iostream> #include <string> #include <boost/bind/bind.hpp> c ...