作者:洪斌

爱可生南区负责人兼技术服务总监,MySQL  ACE,擅长数据库架构规划、故障诊断、性能优化分析,实践经验丰富,帮助各行业客户解决 MySQL 技术问题,为金融、运营商、互联网等行业客户提供 MySQL 整体解决方案。

本文来源:转载自公众号-玩转MySQL

*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。

MySQL 默认是启用 innodb_use_native_aio,使用异步 IO 操作,MySQL 启动时所需 aio slot 若超过系统当前 fs.aio-max-nr 设置,则无法启动报错 InnoDB: io_setup() failed with EAGAIN after 5 attempts.

通常在单机单实例环境下很少会遇到超出 aio-max-nr 的问题,若部署单机多实例,会大概率遇到此问题。我们来分析下该如何配置 fs.aio-max-nr 参数。关于 aio-nr 与 aio-max-nr

aio-nr is the running total of the number of events specified on the

io_setup system call for all currently active aio contexts. If aio-nr

reaches aio-max-nr then io_setup will fail with EAGAIN. Note that

raising aio-max-nr does not result in the pre-allocation or re-sizing

of any kernel data structures.

启动 MySQL 时会分配多少个 event slot?

使用 strace 观测 io_setup 调用情况,

strace -fe trace=io_setup /path/to/mysqld --defaults-file=/etc/my.cnf --daemonize 2>&1 |grep io_setup

总共:4709 个 =  18 * 256 + 101

其分配 256 event 的也就是 InnoDB IO 线程。

结论

实例申请的 fs.aio-nr = (innodb_read_io_threads  + innodb_write_io_threads  + log thread + insert buffer thread)  * 256  + 101

若单实例部署,fs.aio-max-nr 至少大于单实例 fs.aio-nr

若多实例部署,至少大于 本机实例数 * 每个实例的 fs.aio-nr

mysql是slot_技术分享 | MySQL 主机该如何配置 fs.aio-max-nr相关推荐

  1. fs.aio max nr mysql_技术分享 | MySQL 主机该如何配置 fs.aio-max-nr

    MySQL 默认是启用 innodb_use_native_aio,使用异步 IO 操作,MySQL 启动时所需 aio slot 若超过系统当前 fs.aio-max-nr 设置,则无法启动报错 I ...

  2. mysql 客户端_技术分享 | MySQL 客户端连不上(1045 错误)原因全解析

    作者:Carlos Tutte.Marcos Albe 翻译:管长龙 在我们学习 MySQL 或从事 MySQL DBA 工作期间,时常会遇到:"我尝试连接到 MySQL 并且收到1045 ...

  3. fs.aio max nr mysql_MySQL主机该如何配置fs.aio-max-nr

    MySQL默认是启用innodb_use_native_aio,使用异步IO操作,MySQL启动时所需aio slot若超过系统当前fs.aio-max-nr设置,则无法启动报错 InnoDB: io ...

  4. pt5 mysql预处理_技术分享 | MySQL 监控利器之 Pt-Stalk

    一.概述 之前在社区发了一篇[有效解决 MySQL 行锁等待超时问题]文档,主要介绍了下行锁超时的监控方法,下方评论中有人提到了 pt-stalk 工具也可以监控行锁超时,因为个人没怎么用过这个工具, ...

  5. mysql semi join_技术分享 | MySQL 子查询优化

    作者:胡呈清 爱可生 DBA 团队成员,擅长故障分析.性能优化,个人博客:https://www.jianshu.com/u/a95...,欢迎讨论. 本文来源:原创投稿 *爱可生开源社区出品,原创内 ...

  6. mysql优化说出九条_技术分享 | MySQL 优化:为什么 SQL 走索引还那么慢?

    原标题:技术分享 | MySQL 优化:为什么 SQL 走索引还那么慢? 背景 2019-01-11 9:00-10:00 一个 MySQL 数据库把 CPU 打满了. 硬件配置:256G 内存,48 ...

  7. mysql数据库压缩备份_MySQL数据库之mysql数据库备份命令分享(mysql压缩数据库备份)...

    本文主要向大家介绍了MySQL数据库之mysql数据库备份命令分享(mysql压缩数据库备份) ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 备份MySQL数据库的命令 复制代 ...

  8. 发布json数据_技术分享 | MySQL 8.0.17 GA 发布!

    昨日 MySQL 官网正式发布 8.0.17 / 5.7.27 / 5.6.45 三个(维护)版本,距离上一个 GA 版本(8.0.16)发布时隔仅 88 天! MySQL 各开发团队的博客网站,同一 ...

  9. ACMUG活动回顾 | MySQL创始人见面会技术分享会圆满结束

    9月2日,MySQL.MariaDB创始人Monty见面会&技术分享会在杭州圆满落幕.此次会议由ACMUG与沃趣科技携手,邀请数据库领域大神Monty与多位技术专家齐聚一堂,就未来数据库发展趋 ...

  10. 技术分享 | MySQL中MGR中SECONDARY节点磁盘满,导致mysqld进程被OOM Killed

    欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答 在MGR测试中,人为制造磁盘满问题后,节点被oom killed 问题描述 在对 ...

最新文章

  1. 老板的亲戚给我当助手?
  2. SQL中Truncate的用法
  3. 如何启动和关闭oracle数据库,Oracle数据库启动和关闭方式总结
  4. 看到一个blog的标语,有意思!
  5. 飞秋(FeiQ)2012版择日发布
  6. 浅谈栈和队列的有关面试题
  7. awk grep sed cut学习
  8. html上传文件出现fakepath,IE8上传文件时获取文件本地路径问题(C:\fakepath\……)的解决...
  9. 我的Foobar2000定制版本
  10. 【错误解决】Spring JPA的错误及其解决方案
  11. Window下Ribbit MQ安装
  12. IIR滤波器设计之冲激响应不变法与双线性变换法
  13. Android 最全面试题汇总(问题+答案+详解链接)
  14. 金仓数据库KingbaseES客户端编程接口指南-ODBC(6. KingbaseES ODBC 的扩展属性)
  15. C++ Qt自建网页浏览器
  16. Linux常用命令——systemctl命令
  17. 串行DAC——基于小梅哥AC620
  18. DRL:强化学习-Q-Learning算法
  19. 公司绝对不会告诉你的潜规则 - 看到职场如战场了吧
  20. 艾永亮:戴森,你凭什么卖得这么贵?

热门文章

  1. php画弧,75、PHP图像处理之画圆、弧线、网站饼状统计图绘制
  2. php while次数,PHP While 循环
  3. java 函数式编程应用_java8 函数式编程应用
  4. 解析json对象出现$ref: $.list[0]的解决办法
  5. C++求解汉字字符串的最长公共子序列 动态规划
  6. Java_基础_fail-fast
  7. JS 在火狐浏览器下关闭弹窗
  8. iOS 的keyChain
  9. ASP.NET的gridview设置数据格式(DataFormatString={})与 String.Format()【转载】
  10. 程序上下文切换,什么是上下文?