1. 14.4.6 Configuring Thread Concurrency for InnoDB 配置Thread 并发
  2.  
  3. InnoDB 使用操作系统threads 来处理用户的事务请求。(事务可以执行很多请求到InnoDB 在它们提交或者回
  4.  
  5. 滚前)
  6.  
  7. 在现代的操作系统和多核服务器,
  8. 上下文切换是有效的,很多的负载运行很多在没有任何并发数限制。
  9.  
  10. 可扩展性改进在MySQL 5.5和以上版本按降低了并发数量的限制
  11.  
  12. 它是有助于减少上下文切换在threads之间,InnoDB 可以使用一些技术来限制并发执行操作系统threads的数
  13.  

  14. (因此,在任何一个时间点处理的请求数).
  15.  
  16. InnoDB 接收一个新的请求从一个用户会话,如果threads的并发数量在一个预先定义的限制,
  17.  
  18. 新的请求sleep 短暂的时间在它再次尝试之前,请求不能被重新安排在sleep 被放入到 first-in/first-out
  19.  
  20. 队列
  21. 你可以限制并发线程数 通过设置
  22.  
  23. innodb_thread_concurrency.
  24.  
  25. mysql> show variables like '%innodb_thread_concurrency%';
  26. +---------------------------+-------+
  27. | Variable_name | Value |
  28. +---------------------------+-------+
  29. | innodb_thread_concurrency | 0 |
  30. +---------------------------+-------+
  31. 1 row in set (0.00 sec)
  32.  
  33. 一旦 执行的threads 达到这个限制,额外的threads 会等待数微妙,
  34.  
  35. 此前, 它需要经验来找到优化的值对于innodb_thread_sleep_delay
  36.  
  37. 优化的值可以改变依赖复杂, MySQL 5.6.3 和更高的版本,你可以设置配置选项
  38.  
  39. innodb_adaptive_max_sleep_delay
  40.  
  41. 到允许的对于innodb_thread_sleep_delay,
  42.  
  43. InnoDB 自动调整innodb_thread_sleep_delay 高或者低 依赖于当前的thread-scheduling activity
  44.  
  45. 这个动态调整有助于thread scheduling 机制来工作平顺的 在系统是负载较轻的和接近于满负荷
  46.  
  47. InnoDB 使线程sleep只有当 并发的线程数受限制, 当对于线程数没有限制的时候,
  48.  
  49. 所有的线程都会被调度。也就是说, 如果 innodb_thread_concurrency0
  50.  
  51. innodb_thread_sleep_delay 会被忽略。
  52.  
  53. 当这里有限制限制时( innodb_thread_concurrency 值大于0),
  54.  
  55. InnoDB 降低上下文负载通过允许多个请求 在单个SQL语句执行期间来进入InnoDB 没有关注
  56.  
  57. innodb_thread_concurrency的设置。
  58.  
  59. 因为一个SQL语句(比如一个关联)
  60. 可能 包含多个行记录在InnoDB,InnoDB 分配一个指定数量的tickets
  61.  
  62. 允许一个线程被调度多次 以最小的开销
  63.  
  64. 当一个SQL 语句启动, 一个thread 没有tickets, 它必须观察innodb_thread_concurrency
  65.  
  66. 一旦线程有权进入InnoDB, 它会被分配一个 ricketsnumber 可以用于随后进入InnoDB 来执行记录操作。
  67.  
  68. 如果tickets 用完, thread 被驱逐,innodb_thread_concurrency 再次观察,可以放置thread
  69.  
  70. 等待thread first-in/first-out queue
  71.  
  72. thread 是再次允许进入InnoDB, tickets 再次被分配。
  73.  
  74. 分配的tickets 的数量是通过全局变量 innodb_concurrency_tickets指定,默认是5000
  75.  
  76. mysql> show variables like '%innodb_concurrency_tickets%';
  77. +----------------------------+-------+
  78. | Variable_name | Value |
  79. +----------------------------+-------+
  80. | innodb_concurrency_tickets | 5000 |
  81. +----------------------------+-------+
  82. 1 row in set (0.00 sec)
  83.  
  84. 一个thread 等待一个lock 是给一个ticket 一旦locks 变的可用
  85.  
  86. 那些变量的争取的值依赖你的环境和负载, 尝试一些不同的值来决定最合适的值对你的应用。
  87.  
  88. 在限制并发执行threads的数量, 重新查询配置选项 可能改善InnoDB的性能

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

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

    14.6.6 Configuring Thread Concurrency for InnoDB 配置线程并发 InnoDB 使用操作系统线程来处理请求(用户事务) 事务可能执行很多次在它们提交或者回 ...

  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. linux下执行sh文件报错:oswatcher_restart.sh: line 13: ./startOSW.sh: Permission denied

    1 查看执行sh文件的内容 [root@xxxdb0402 dbscripts]# more oswatcher_restart.sh  #!/usr/bin/ksh #export oswdir=` ...

  2. 利用WebClient上传参数及文件流到远程ashx服务

    原文 利用WebClient上传参数及文件流到远程ashx服务 1 思路: WebClient.UploadFile()方法可以上传文件:UploadData()方法可以上传数据参数:如何合二为一既上 ...

  3. 京JS 2013 - A two-day conference in Beijing for the JavaScript and Node.js community

    京JS 2013 - A two-day conference in Beijing for the JavaScript and Node.js community 关于技术大会 京JS 2013 ...

  4. HDOJ 1800 Flying to the Mars 盲目搜索......................so easy...........

    check the original problem here:http://acm.hdu.edu.cn/showproblem.php?pid=1800 the AC code: #include ...

  5. vld(Visual Leak Detector) 内存泄露检测工具

    初识Visual Leak Detector 灵活自由是C/C++语言的一大特色,而这也为C/C++程序员出了一个难题.当程序越来越复 杂时,内存的管理也会变得越加复杂,稍有不慎就会出现内存问题.内存 ...

  6. 硬盘被误格式化或Ghost还原后的数据恢复

    硬盘格式化(Ghost还原)后的数据恢复 ---diskgenius使用之数据恢复 问题引出:计算机中病毒后用Ghost版本的winxp安装,由于安装途中选择了把映像安装到硬盘而不是分区,安装好后只剩 ...

  7. perl eval函数

    29.2.32 eval • eval BLOCK • eval EXPR • eval eval 关键字在Perl 里起两种不同的但相关的作用.这些目的是用两种形式的语法 来表现的, eval BL ...

  8. 1.1.4-学习Opencv与MFC混合编程之---画图工具 画椭圆

    源代码地址:http://download.csdn.net/detail/nuptboyzhb/3961690 1.    增加‘椭圆’菜单项,设置属性,添加类向导: 2.    编辑消息处理函数, ...

  9. 树状DP

    紫皮,各种,非原创 树状数组在我的理解就是在决策过程中具有层次关系,像是树一样,具有上下级关系或者上级对上级一定程度的限制条件 uva 12186 工人的请愿书 下属中不小于 T% 的人签字时会签字递 ...

  10. Codeforces Round #311 (Div. 2)

    我仅仅想说还好我没有放弃,还好我坚持下来了. 最终变成蓝名了,或许这对非常多人来说并不算什么.可是对于一个打了这么多场才好不easy加分的人来说,我真的有点激动. 心脏的难受或许有点是由于晚上做题时太 ...