学习数据库需要对很多东西要理解,包括主机,存储,数据库,开发。特别调优。因此,数据库设计的知识还是比较广的,这篇文章主要是讲解一下主机调优。
我遇到过一些关于主机引起的数据库问题,比如数据库打开后,数据库的性能还可以,但是随着时间增长,主机的内存就会耗得很多,数据库就会变慢;还有就是IO繁忙程度100%,但是每次磁盘读写很少等等。
我们遇到这些问题,如果对主机不熟悉,那么在数据库层面可能解决不了,下面介绍一下主机的调优。
1.主机内核参数
aix:Maxperm%和minperm%
这个是在aix上设置最大文件缓存和最小文件缓存,这两个参数肯定要更改,因为数据库使用共享内存段,不需要文件缓存。这两个参数一般是根据内存的大小来设置一定比例
一般最大文件缓存最大设置20%足够了
aix:tcp_sendspace,tcp_recvspace,udp_sendspace
,udp_recvspace
这个主要是安装rac和使用rac的时候需要更改的,特别是应用开发不好,出现大量的rac 内存之间的数据传输。如果参数设置不合理,那么会影响rac的性能。
Hp:filecache_max、filecache_min
这个是hp-ux最大文件缓存和最小文件缓存的,
上边主要是调优用到的主机内核参数,如果不更改也可以使用,但是会出现性能问题。
2 . 交换区
网上有很多关于交换区的分配方法解释,其实很多都是建议值,大家不要去分的那么详细,只要记住,只要硬盘有空间,那么,我们留下也没有用,为什么不分配给swap呢。特别是在hp-ux上,交换区影响很大,因此,如果可以的交换区尽量大
3. 数据库内存分配比例
主机内存用作如下地方: 主机操作系统,主机进程,数据库。因此,我们分配数据库内存还要看看应用进程数,建议是数据库最大内存占用50%。然后根据使用情况然后再适当调配,主机的内存够不够用就看vmstat 中的pi,如果pi有值,那么就是不够用了,如果为0,那么就是够用,不要看网管软件中的主机内存使用。
4. 主机的主要监控命令