oracle性能优化二——操作系统优化

       在我的前一篇博客《oracle性能优化一——简介》对oracle优化进行了简单介绍,那么今天我就从操作系统方面来介绍如何优化oracle数据库。

1.优化思路

在数据库优化的时候,可以从5个方面调整,我们可以做为数据库优化的思路

Ø         网络

Ø         硬件

ü         I/O子系统

ü         Cpu子系统

ü         存储器

Ø         操作系统

ü         UNIX系统

ü         NT系统

ü         VMS

Ø         数据库

ü         存储参数调整

ü         环境参数调整

Ø         应用程序

批处理和OLTP应用程序具有不同特点,批处理要考虑整体时间,而OLTP更注重单个sql的性能,在考虑单条sql是重点是:

ü         棘手sql调整

ü         索引调整

2.硬件优化

       硬件的调整常在应用程序展开的初期见到,并且能解决很多性能问题,随着应用程序的展开,数据库规模的增长,后期主要的调整手段要放到数据库和应用程序上去。它们往往是影响性能的主要因素,同时也比硬件调整要更加经济。当然,如果客户不计成本向里扔钱,不反对硬件升级。

3. 操作系统的优化

对操作系统的优化要看具体的操作系统而言,下面有一些常用的经验可供参考。

1.         对于unix操作系统,我们经常需要调整如下参数:

Ø         共享内存(SharedMemory)

Ø         信号灯(Semaphores)

       对于共享内存主要关注下面四个核心参数:SHMMAX(单个共享内存段最大值)、SHMSEG(能够连到单个进程上共享内存段的最大值)、SHMALL(共享内存段总数目)。oracle建议将单个实例的SGA分配在一个共享内存段里。所以SHMMAX一般为物理内存的一半。具体的调整请看oracle的安装手册。最后,可以使用一些系统级工具进行监测:ipcs –b 可以获得当前共享内存段列表;tstshm 可以评估共享内存段设置。

       对于信号灯:主要关注SSEMMNI(系统里信号灯集合的最大数目)、SEMMSL(每个集合里信号灯的最大数目)、SEMMNS(系统范围内可用的信号灯的最大数目)。每个oracle进程使用一个信号灯,信号灯数要比process多,否则数据不能启动,每个核心参数的最佳取值同上,在oracle的安装文档里有详细说明,此不赘述。

最后还要注意,要给操作系统留下足够的内存,不要因为SGA太大而造成过多的页交换,太多的page fault会消耗系统资源。

       可以利用操作系统的监视工具来分析系统的瓶颈,下面的示例都是本文实例使用sql*loader导入数据文件时的情况,这是系统资源使用的一个高峰。

   使用iostat如图1所示,bps表示每秒传输的kb数、tps表示每秒访问磁盘驱动的次数。

 

图1

       可以看到硬盘平均每秒访问磁盘100次左右,平均每秒传输5M左右数据,这样每次访问磁盘可以访问到52K数据。

        使用vmstat如图1所示,大家要主要关心pagefault、page pin、page pout,这些数据表明了系统的页交换情况,cpu id显示了cpu资源利用率,procs 表明队列的多少。

 

图2

       图2表明:有大量的页交换产生,空闲内存太少,存在着内存瓶颈。但是cpu有大量的空闲等待时间。这表明SGA太大,导致系统本身的缓存太小。

通过这两个工具的监测,就可以明白原来系统的瓶颈就在内存和硬盘io这两个子系统上,更深层次的原因还有待对oracle的监测来发现。

对于WINDOWNT系列操作系统,可以使用如下手段优化操作系统:

Ø 使不必要的服务失效

Ø取消屏幕保护

Ø 只将机器用做数据库服务器

Ø 如果是WINDOWSNT系统

控制面扳中Networktool –Properties下面四个选项中选择Maximize Throughput for Network Application

控制面扳中Systemtool—Performance中boost选择None,减少文件系统缓冲

Ø 利用性能监视器监视数据库服务器,分析性能瓶颈

Ø 利用微软资源工具箱(resourcespake)中的工具(Process Viewer、Process Explode、Quick Slice、Process Stat)监视数据库服务器,决定操作系统是否优化

 做优化,不单单要指导如何优化SQL,还有懂得操作系统的知识,从底层开始优化。


  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

弯_弯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值