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

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

  1. timestamp 转换 mysql_技术分享 | MySQL:timestamp 时区转换导致 CPU %sys 高的问题

    作者:高鹏 文章末尾有他著作的<深入理解 MySQL 主从原理 32 讲>,深入透彻理解 MySQL 主从,GTID 相关技术知识.本文为学习记录,可能有误请谅解. 这个问题是一个朋友遇到 ...

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

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

  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. 技术分享 | MySQL中MGR中SECONDARY节点磁盘满,导致mysqld进程被OOM Killed

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

  5. 技术分享 | MySQL : SSL 连接浅析

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

  6. 无密码进去mysql_技术分享 | 安全地无密码登录 MySQL

    作者:丹尼尔·古斯曼布尔戈斯 翻译:管长龙 原文:https://www.percona.com/blog/2019/11/01/use-mysql-without-a-password/ 有人说最好 ...

  7. 技术分享 | MySQL 索引长度限制的案例

    作者:刘晨 网名 bisal ,具有十年以上的应用运维工作经验,目前主要从事数据库应用研发能力提升方面的工作,Oracle ACE ,拥有 Oracle OCM & OCP .EXIN Dev ...

  8. date转timestamp格式_技术分享 | MySQL:timestamp 时区转换导致 CPU %sy 高的问题

    作者:高鹏文章末尾有他著作的<深入理解 MySQL 主从原理 32 讲>,深入透彻理解 MySQL 主从,GTID 相关技术知识.本文为学习记录,可能有误请谅解. 本文建议PC端观看,效果 ...

  9. 技术分享 | MySQL 突如其来的主从复制延迟

    作者:刘开洋 爱可生交付服务团队北京 DBA,对数据库及周边技术有浓厚的学习兴趣,喜欢看书,追求技术. 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源 ...

最新文章

  1. 一个对称性解释三个宇宙学难题;引力波碰撞会发光?粘液霉菌助力寻找宇宙网 | 一周科技速览...
  2. Golang 一些基本功能使用记录
  3. 北斗导航 | 北斗RDSS受地面5G干扰影响的分析及对策研究
  4. Javaweb学习路线(自学规划)
  5. php ci rest,在CodeIgniter框架中使用RESTful服务
  6. try...catch()
  7. React- jsx的使用可以渲染html标签 或React组件
  8. DBSCAN聚类算法初探(五)
  9. 沟通与设计讨论总结:设计师不能不知道的10个沟通秘诀
  10. VBA中,可以利用下面的语句来调用Excel内置对话框
  11. 21.TCP/IP 详解卷1 --- TCP 的超时与重传
  12. 基于python的注册登录界面_基于python的Tkinter编写登陆注册界面
  13. linux系统如何使用qq,Linux系统中怎么使用QQ
  14. 插座测试仪的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  15. 惠普微型计算机光驱在哪里,惠普从光驱启动开始怎么做(包括hp笔记本)
  16. 上海亚商投顾:沪指失守3300点 卫星导航概念全天强势
  17. 如何让DIV标签居中显示?
  18. 领英让出的市场,有谁能补位成功?
  19. 手把手教你在Linux(Deepin)把自己下载的软件放到任务栏启动器
  20. springboot 微信小程序 对接微信支付功能(完整版)

热门文章

  1. java实现排他平方数
  2. (附源码)计算机毕业设计ssm电影售票管理系统
  3. 云网融合与算力网络系列文章
  4. 冰雪融化时,你能看到什么?
  5. Spring MVC 防止XSS注入
  6. Swiper实现两种常用轮播图
  7. 8大软件供应链攻击事件概述
  8. jira--研发管理-敏捷。
  9. c3p0连接池使用完毕后连接返还
  10. word中添加Mathtype公式行间距改变问题