`
sogotobj
  • 浏览: 619206 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

mysql几个和innodb相关的参数

 
阅读更多

今天有同事问了几个MySQL参数设置,这里简单记录一下:


innodb_thread_concurrency ,用于限制能够进入innodb层的线程数



当进入innodb层调用read_row/write_row/update_row/delete_row时,会检查已经进入innodb的线程数:innodb_srv_conc_enter_innodb
如果已经满了,就会等待innodb_thread_sleep_delay毫秒尝试一次
如果再次失败,则进入到一个FIFO队列sleep


当在innodb层完成操作后,会调用innodb_srv_conc_exit_innodb退出innodb层
当线程进入时,获得一段时间片innodb_concurrency_tickets,在时间片范围内,该线程就无需检测,直接进入innodb


理论上讲,我们可以把innodb_thread_concurrency设置为(cpu数+磁盘数)*2,但这需要取决于具体的应用场景


innodb_commit_concurrency ,用于限制在innodb层commit阶段的线程数,大多数情况下,默认值已经足够。
--------------------------
innodb_write_io_threads
用于写脏页的线程数
innodb_read_io_threads
用于从磁盘读文件块的线程数
thread_cache_size
线程在使用完成后,不是退出,而是存放到list中,这样减小了重复创建线程的开销,
这个值的设置应跟内存相关的:mem = (thread_cache_size) * (thread_stack)


max_connections
MySQL层最大允许的连接请求数,注意如果设置的过大,可能会引起很大的额外开销:线程切换开销。目前比较流行的优化方案是使用线程池来保存请求队列,建立有限的work线程来处理连接,换句话说,就算max_connections设置的再大,那也要受innodb_thread_concurrency的限制

————————————————————
参考:
《InnoDB thread concurrency》:http://www.mysqlperformanceblog.com/2006/06/05/innodb-thread-concurrency/
分享到:
评论

相关推荐

    mysql数据库my.cnf配置文件

    在之前的几个版本中,清除操作是主线程的一部分,这意味着运行时它可能会堵塞其它的数据库操作。 # 从MySQL5.5.X版本开始,该操作运行于独立的线程中,并支持更多的并发数。用户可通过设置innodb_purge_threads配置...

    【MySQL面试题干货集合】20个经典常用面试题-需要找工作的一定要看 共11页.pdf

    【MySQL】20个经典面试题 I 1 MySQL的复制原理以及流程 1 2 MySQL中MyISAM与InnoDB的区别,至少5点 1 2.1 MyISAM与InnoDB的5个不同点; 1 2.2 InnoDB引擎的4大特性 1 2.3 两者select count(*)哪个更快,为什么? 2 3 ...

    MySQL管理之道 性能调优、高可用与监控.part2.rar

    以最新的mysql版本为基础,以构建高性能mysql服务器为核心,从故障诊断、表设计、sql优化、性能参数调优、mydumper逻辑、xtrabackup热备份与恢复、mysql高可用集群搭建与管理、mysql服务器性能和服务监控等方面多...

    MySQL面试题28道面试题

    5、MySQL binlog的几种日志录入格式以及区别 6、MySQL数据库cpu飙升到500%的话他怎么处理? 7、sql优化各种方法 8、备份计划,mysqldump以及xtranbackup的实现原理 9、mysqldump中备份出来的sql,如果我想sql文件中...

    PHP和MySQL Web开发第4版pdf以及源码

    2.10.1 使用普通文件的几个问题 2.10.2 RDBMS是如何解决这些问题的 2.11 进一步学习 2.12 下一章 第3章 使用数组 3.1 什么是数组 3.2 数字索引数组 3.2.1 数字索引数组的初始化 3.2.2 访问数组的内容 ...

    my.cnf参数配置实现InnoDB引擎性能优化

    在网上看了无数的my.cnf的配置,大多数提到的配置无外乎这几个: 1. innodb_buffer_pool_size 2. innodb_log_file_size 3. innodb_log_buffer_size 4. innodb_flush_log_at_trx_commit 然后自己写了两个例子,一...

    PHP和MySQL WEB开发(第4版)

    2.10.1 使用普通文件的几个问题 2.10.2 RDBMS是如何解决这些问题的 2.11 进一步学习 2.12 下一章 第3章 使用数组 3.1 什么是数组 3.2 数字索引数组 3.2.1 数字索引数组的初始化 3.2.2 访问数组的内容 3.2.3 使用...

    MyISAM和InnoDB引擎优化分析

    这几天喻名堂在学习mysql数据库的优化并在自己的服务器上进行设置,喻名堂主要学习了MyISAM和InnoDB两种引擎的优化方法,它们各有优缺点,一般在实际应用中将两种引擎结合起来使用效果会更好。喻名堂测试的硬件配置...

    PHP和MySQL Web开发第4版

    2.10.1 使用普通文件的几个问题 2.10.2 RDBMS是如何解决这些问题的 2.11 进一步学习 2.12 下一章 第3章 使用数组 3.1 什么是数组 3.2 数字索引数组 3.2.1 数字索引数组的初始化 3.2.2 访问数组的内容 ...

    MySQL性能全面优化方法参考,从CPU,文件系统选择到mysql.cnf参数优化

    在服务器的BIOS设置中,可调整下面的几个配置,目的是发挥CPU最大性能,或者避免经典的NUMA问题: 1、选择Performance Per Watt Optimized(DAPC)模式,发挥CPU最大性能,跑DB这种通常需要高运算量的服务就不要考虑...

    MySQLDBA运维笔记.pdf

    1.2.6 创建存放两个 mysql 实例的数据目录...............................................................11 1.2.7 创建两个 mysql 多实例的配置文件.............................................................

    mysql配置模板(my-*.cnf)参数详细说明

    mysql安装成功后有几个默认的配置模板,列表如下: my-huge.cnf : 用于高端产品服务器,包括1到2GB RAM,主要运行mysql my-innodb-heavy-4G.ini : 用于只有innodb的安装,最多有4GB RAM,支持大的查询和低流量 my-...

    MySQL优化之配置文件

    my.cnf 配置文件无法发挥出 MySQL 最高的性能,所以需要根据不同的硬件进行优化,配置文件的优化也是重点,下面是物理内存为 32G 的数据库优化参数,具体从全局、二进制日志、主从、innodb、myisam 几个方面优化,仅...

    nServer-v2.1023[FTP + MYSQL + HTTP + PHP(FCGI)]

    - 几个有关HTML5的小修正,无关紧要 2012年06月01日 - 统一配置文件替换变量表,参看anrip/config.php,请注意修改站点配置 - MySQL数据、生成配置文件、模块临时文件均放入mydata目录,方便设置安全权限 2012年05...

    一次Mysql使用IN大数据量的优化记录

    mysql版本号是5.7.28,表A有390W条记录,使用InnoDB引擎,其中varchar类型字段mac已建立索引,索引方法为B-tree。B表仅有5000+条记录。 有一条SQL指令是这样写的: SELECT * FROM A WHERE mac IN(aa:aa:aa:aa:aa:aa...

    springmybatis

    下面对这几个配置文件解释下: 1.Configuration.xml 是 mybatis 用来建立 sessionFactory 用的,里面主要包含了数据库连接相关东西,还有 java 类所对应的别名,比如 ...

    SQL优化经验总结

    一. 优化SQL步骤 1. 通过 show status和应用特点了解各种 SQL的执行频率  通过 SHOW STATUS 可以提供服务器状态信息,也可以使用... 以下几个参数对 Myisam 和 Innodb 存储引擎都计数:  1). Com_select 执行 selec

    数据库灾难性恢复(数据库技术;灾难性;恢复;数据备份)

    DB2 提供了几种备份,包括脱机备份、联机备份和增量备份。从备份恢复所需的时间取决于数据库的大小和可用于执行恢复的硬件资源。 由于数据库备份只捕获时间点的数据,因此无法通过一个简单恢复来恢复备份之后发生的...

Global site tag (gtag.js) - Google Analytics