读书频道 > 网站 > 网页设计 > MySQL管理之道:性能调优、高可用与监控
1.1.12 首次在Linux上实现了异步I/O
14-02-20    奋斗的小年轻
收藏    我要投稿   
本书由资深MySQL专家撰写,以最新的MySQL版本为基础,以构建高性能MySQL服务器为核心,从故障诊断、表设计、SQL优化、性能参数调优、mydumper逻辑、xtrabackup热备份与恢复、MySQL高可用集群搭建与管理、MySQL服立即去当当网订购

这里先解释下什么是同步I/O,什么是异步I/O。在同步文件I/O中,线程启动一个I/O操作后会立即进入等待状态,直到I/O操作完成才醒来继续执行。而在异步文件I/O方式中,线程发送一个I/O请求到内核,然后继续处理其他的事情,内核完成I/O请求后,将会通知线程I/O操作完成了。简单地说,如果是同步I/O,当一个I/O操作执行时,应用程序必须等待,直到此I/O执行完毕。相反,异步I/O操作是在后台运行的,I/O操作和应用程序可以同时运行,这就提高了系统性能。因此,像数据库这样的应用往往会利用异步
I/O,使得多个I/O操作可同时执行。

从MySQL5.5.X版本开始,在Linux系统上就实现了异步I/O功能,也就是Linux native AIO,想要使用Linux native AIO,可以利用libaio库,libaio对Linux native AIO的系统调用进行了简单的封装,当然,也可以直接通过系统调用来使用Linux native AIO。

在使用libaio之前,你要先安装libaio rpm包,命令如下:
yum install libaio -y
[root@TestPrfServer ~]# rpm -qa | grep libaio
libaio-0.3.106-5
libaio-0.3.106-5
[root@TestPrfServer ~]#

可以通过innodb_use_native_aio参数来选择是否启用异步I/O,默认是ON,即处于开启状态,此参数不支持动态修改。

下面分别是MySQL5.5.X和MySQL5.1.X启动时的信息,分别如图1-6和图1-7所示。在MySQL5.5.X版本中可以看到关于Linux native AIO的信息。

下面通过cat /proc/slabinfo | grep kio命令,来查看异步I/O是否能工作正常(如图1-8所示)。

如果kiocb那项不为0,代表异步I/O已工作。

 

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站