美创科技技术社区

注册

 

发新话题 回复该主题

资源供给:IO子系统之三 [复制链接]

1#

    简单案例说明:某社保系统在业务高峰期总是性能表现很差,从AWR报告中可以看出,负载压力不是很大,只是IO的响应速度很慢。在负载压力一般的情况 下,IO响应速度缓慢只能是意味着下面两个问题:(1)、IO子系统故障  (2)、IO子系统配置不当。检查操作系统,没有发现IO子系统错误状况,检查Raid Cache工作正常,直接测试物理磁盘的IO,可以承载正常的负载。我们判断是vxvm的队列设置有问题,交给Veritas工程师检查,Veritas 工程师检查之后确认是Vxvm部署不当,队列大小不足并且其中有一个模块未部署安装。
           卷管理器是IO子系统的重要部件,我们可以看到常见的卷管理器: Veritas Vxvm,Oracle ASM,IBM LVM,HP LVM等等。特别是Oracle ASM作为一个卷管理器几乎会成为今后所有数据库系统设置的标配,ASM卷管理器的性能问题将成为IO子系统中的重要关节。
           在高并发性系统,设备的队列大小是系统响应时间的关键所在,大量的应用实践证明在高吞吐量系统中,合适的队列大小可以提高系统30%甚至50%的并发能力。

           我们来看整个IO子系统的通路:
          CPU ==> CPU to Cache ==> Cache to filesystem(buffer) ==> LV ==> HBA ==> SAN Switch ==> Disk Control == > Disk Array cache ==> Disk

         作为一个优秀的IO系统,后续的部件必须可以承载前面输送过来的压力,而实际情况往往是后续部件的单件处理能力远远比不上前面的链路。这个时候,我们除了 通过扩展配置使整体处理能力相互匹配之外,一个最为重要的措施就是利用缓存(队列)以使前面输送过来的负载均匀化,基本而言,后续的队列大小要大于前面的 队列大小。

        我们来看:
        LVM buffer(LVM一般通过Buffer来进行缓冲,可能部分系统也会采用Queue的方式)
        HBA Queue
        SAN Switch Queue
        Disk Control Queue
       Disk Queue

      由于Disk是其中最慢的措施,一般在高吞吐量的系统中,缺省的 Disk Queue几乎总是无法满足需求,需要进行增加。而HBA和SAN Switch Queue也经常需要调整,LVM buffer则要保持足够使用,对于ASM来说就是ASM Instance SGA。  

分享 转发
TOP
发新话题 回复该主题