简单生活 发表于 2015-1-16 22:32:04

MYSQL教程之怎样在Hp的主机翻开异步IO

人力成本上的节省,MySQL的用户Spacemonkey实验室的首席执行官MitchPirtle如此表示:“维护MySQL使得你不需要一个年薪15万美元的DBA。异步
1、说说异步IO(Aio)
在Hp-ux中,当接纳同步IO的体例时,这就意味着鄙人一次写IO举行之前,前一次IO必需前往"乐成写完成"的信息,能够看到同步IO体例在IO负荷对照年夜的体系存在着功能的瓶颈。而接纳异步IO体例时,在写哀求收回以后操纵体系会当即反回给使用一个写乐成的信息,余下的事就由操纵体系完成了。在Hp-ux中利用Oracle、Sybase这些数据库时,为削减IO的瓶颈、进步库的功能,倡议翻开异步IO,Hp在这方面绝对Aix来讲绝对贫苦一些。

2、Hp-ux方面翻开Aio必要做的设置
1、Hp-ux利用Aio的补钉请求
a、Hp-ux11.00的补钉请求为:
PHKL_22126:s700_800VM,async,hyperfabric
b、HP-UX11i的补钉请求为:
PHKL_25212vmpreemptionpoint,mlock/async_io
PHKL_25506asynciodriverpatch
利用swlist-lproduct反省一下有没有如上的补钉,如没有接洽Hp的supporter将其打上。
2、创立aio的字符设备
a、创建aio字符设备
#/sbin/mknod/dev/asyncc1010x0
b、调剂设备的属主,这个例中假定用户为oracle,组为dba
#chownoracle:dba/dev/async
c、调剂设备的权限位
#chmod660/dev/async
3、Hp-ux要要调剂的内核参数
调剂内核参数据必要利用root用户
a、把asyncdsk置为in
sam->KernelConfiguration->Drivers->asyncdsk调剂为in
b、调剂max_async_ports参数
这个参数限制的是同时利用/dev/async设备的最猛进程数,关于Oracle这个参数应年夜于即是init<sid>.ora中的processes+背景的历程数,关于sybase它所标识的是最年夜的事情历程数。当max_async_ports的值到达时,其他的历程将接纳同步IO的体例。
c、调剂setaio_max_ops参数
这个参数所限制的是在恣意一个工夫点列队的Aio操纵的最年夜的数量,一样平常坚持默许值就能够,能够用glance监测一下。
d、调剂fs_async参数
这个参数标明的是对文件体系的写是不是接纳Aio的体例,设定fs_async=0指定关于文件体系写不必Aio,设定fs_async=1则指定利用aio的体例,Oracle不倡议将这个什设置为1
4、别的方面设置
重中之重的一点是必定要为oracle用户的组(通常是dba)设定MLOCK的权限,不然在数据库启动会报错或在库运转时会呈现稀里糊涂的数据库hang的征象,我复杂说一下。
a、触及到两个命令getprivgrp用于反省组有甚么权限,setprivgrp用于设定组的权限,举个例子人人就分明了
eg1:反省dba组是不是有MLOCK的权限
root#getprivgrpdba
eg2:设定dba组的MLOCK的权限
roolt#setprivgrpdbaMLOCK
b、也能够把设定到场设置文件中,如许鄙人次启动时就主动失效了。
在/etc/privgroup中到场以下的一行:
dbaMLOCK
假如privgroup不存在,能够编纂一个。

3、数据库方面利用Aio要要做的设置
1、oracle方面
a.7.3.0之前的版本:不必要设置init<sid>.ora中的参数
b.7.3.X:在init<sid>.ora中设定use_async_io=TRUE
c.8.X及今后的版本:在init<sid>.ora中设定disk_asynch_io=TRUE
2、sybase方面
默许就是翻开aio的。

4、别的
1、反省一下aio是不是失效了
#fuser/dev/async
有历程列出来讲明aio已失效了。
2、我的hp11.00+oracle8.1.6.0.0的情况启用aio时而不时的会呈现坏块的成绩(ora-01578),请人人注重,但在hp11i的体系与Oracle8i,9i配合中没呈现过这个成绩。

对免费版的用户也具有充足的支持服务。在dev.mysql.com上,一个大型的MySQL学习教程强大社区用户和开发者可以讨论所有关于MySQL的事情。这个站点拥有博客、指南、视频、技术交流会、白皮书和论坛等方式的交流。

乐观 发表于 2015-1-19 16:15:14

其实可以做一下类比,Oracle等数据库产品老早就支持了java编程,而且提供了java池参数作为用户配置接口。但是现在有哪些系统大批使用了java存储过程?!连Oracle自己的应用都不用为什么?!

精灵巫婆 发表于 2015-1-24 16:55:19

记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。

小魔女 发表于 2015-2-2 11:24:08

但是随着数据量的增大,这种成本差距会逐渐减小,趋于相等。(500万数量级只相差10%左右)

蒙在股里 发表于 2015-2-7 18:49:01

现在是在考虑:如果写到服务器端,我一下搞他个10个存储过程导过去,那久之服务器不就成垃圾箱了吗?即便优化了我的中间层.

小妖女 发表于 2015-2-22 23:58:33

大家注意一点。如下面的例子:

爱飞 发表于 2015-3-7 04:44:17

多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。

因胸联盟 发表于 2015-3-14 12:03:19

备份方面可能还是一个老大难的问题。不能单独备份几个表总是感觉不爽。灵活备份的问题不知道什么时候才能解决。

谁可相欹 发表于 2015-3-21 06:10:11

多走走一此相关论坛,多看一些实例开发,多交流0经验,没什么的,我也是刚学没多久!加油
页: [1]
查看完整版本: MYSQL教程之怎样在Hp的主机翻开异步IO