知识大全 不同平台的数据库异步I/O的使用
Posted 知
篇首语:你今天的日积月累,早晚会成为别人的望尘莫及。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 不同平台的数据库异步I/O的使用相关的知识,希望对你有一定的参考价值。
不同平台的数据库异步I/O的使用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
一般说来 异步I/O是和同步I/O相比较来说的 如果是同步I/O 当一个I/O操作执行时 应用程序必须等待 直到此I/O执行完 相反 异步I/O操作在后台运行 I/O操作和应用程序可以同时运行 提高了系统性能; 使用异步I/O会提高I/O流量 如果应用是对裸设备进行操作 这种优势更加明显 因此象数据库 文件服务器等应用往往会利用异步I/O 使得多个I/O操作同时执行 文件集的安装 要在aix平台上使用异步I/O特征 系统必须安装有文件集bos rte aio 可以通过如下命令检查之: lslpp l bos rte aio 然后再通过smitty(smit)使得异步I/O可用 #smit chgaio STATE to be configured at system restart available 如何确定是否需要使用异步I/O a 使用VMSTAT命令查看列wa 如何其值超过 % 则使用; b 使用命令iostat * * 如果%tm_act超过 % 则使用; 值得注意的是 在SMP系统中 vmstat的值us id wa列是所有处理器之间的平均值 但是每个处理器的i/o等待值却不是平均值 而是一个全局的统 计数值 当前aio服务器的数目 pstat a | grep aios | wc l 如何设置aio 服务器 一般有三个规则可以用来决定因素aio的数目 a 限定MAXIMUM等于十倍的当前使用的物理磁盘数 MINIMUM等于一半的MAXIMUM数; b 设置MAXIMUM为 MINIMUM为默认值 监控系统正常的负荷情况 过一段时间后 再进行调整如下: MAXIMUM=当前运行的aio数+ MINIMUM=当前运行的aio数 c 在最高I/O活动开始之前 使用vmstat s看结果中的iodones 隔一时间段再执行 查看二次iodones之差值 便可以知道在这个时间段内有多少个物理I/O发生了 如果便可以考虑增加MAXIMUM数再进行观察调整 异步I/O的几个参数 可以使用chdev或是smit来修改有关AIO的参数 主要考虑如下几个 MINIMUM number of servers :指定分配给异步I/O进程的最少内核进程数 MAXIMUM number of servers :指定分配给异步I/O进程的最大内核进程数 Maximum number of REQUESTS :指定能同一时间分配的最大数目的异步I/O请求数 它包括进程中的请求 也包括等待中的请求数 最大数不能小于MAXIMUM number of servers 它定义在/usr/include/sys/limits h中 Server PRIORITY:指定分析给异步I/O进程的优先级 建议用默认值 STATE to be configured at system restart:指定系统初始化时 异步I/O进程的状态 可能值是 )defined(处于定义状态且不可用) )available(可用)STATE of FastPath:如果选择disable 则表明强迫所有的I/O活动都通过异步内核进程 默认是enable 此平台上的数据库 如oracle中使用异步i/o 则需要设置参数disk_asynch_io = TRUE就可以了 Hp ux使用Aio的补丁要求 b HP UX i的补丁要求为 PHKL_ vm preemption point mlock/async_io PHKL_ asyncio driver patch 使用swlist l product检查 创建aio的字符设备 a 建立aio字符设备 #/sbin/mknod /dev/async c x b 调整设备的属主 这个例中假定用户为oracle 组为dba #chown oracle:dba /dev/async c 调整设备的权限位 #chmod /dev/async Hp ux要要调整的内核参数 调整内核参数据需要使用root用户 a 把asyncdsk置为in sam > Kernel Configuration > Drivers >asyncdsk调整为in b 调整max_async_ports参数 这个参数限定的是同时使用/dev/async设备的最大进程数 对于Oracle这个参数应大于等于init< sid> ora中的processes+后台的进程数 当max_ async_ports的值达到时 其余的进程将采用同步IO的方式 c 调整set aio_max_ops参数 这个参数所限定的是在任意一个时间点排队的Aio操作的最大的数目 一般保持默认值就可以 可以用glance监测一下 d 调整fs_async参数 这个参数表明的是对文件系统的写是否采用Aio的方式 设定fs_async= 指定对于文件系统写不用Aio 设定fs_async= 则指定使用aio的方式 Ora cle不建议将这个什设置为 其它方面设置 值得注意的是要为oracle用户的组(一般为dba)设定MLOCK的权限 否则在数据库启动会报错或在库运行时会出现莫名其妙的数据库hang的现象 具体说明如下 a 有二个命令getprivgrp(检查) setprivgrp(设置) eg :检查dba组是否有MLOCK的权限 root#getprivgrp dba eg :设定dba组的MLOCK的权限 roolt#setprivgrp dba MLOCK b 也可以把设定加入配置文件中 这样在下次启动时就自动生效了 在/etc/privgroup中加入如下的一行 dba MLOCK 如果privgroup不存在 可以编辑一个 i 及以后的版本 :在init< sid> ora中设定disk_asynch_io = TRUE 检查一下aio是否生效了 #fuser /dev/async 有进程列出来说明aio已经生效了 在hp 上使用异步I/O时可能还有些问题 会出现一些ora 的错误 但是hp i后应没有问题了 cha138/Article/program/Oracle/201311/16605相关参考
测量磁盘I/O 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!我怎样分离OracleI/O来使得性能
分析JavaI/O的工作机制 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 网络I/O优化 网
Java网络编程从入门到精通(31):非阻塞I/O简介 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧
Java网络编程从入门到精通(32):一个非阻塞I/O的例子 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
调整JavaTMI/O性能 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 调整JavaTMI/O
减少ORACLE中的磁盘I/O 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 使用Muliple
I/O柜端子排拆线接线作业的危险点和控制措施如下:步骤或活动:I/O柜端子拆、接线危险点工具不合格或使用不当(伤害类型:触电)控制措施1、使用工具前应进行检查,不完整的工具不准使用。2、认真检查仪器仪
I/O柜端子排拆线接线作业的危险点和控制措施如下:步骤或活动:I/O柜端子拆、接线危险点工具不合格或使用不当(伤害类型:触电)控制措施1、使用工具前应进行检查,不完整的工具不准使用。2、认真检查仪器仪
JavaI/O流 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 面向字节的流类 一预定义的流对
检测解决SQLServer延迟阻塞I/O问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 摘要