ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 优化报告

优化报告

原创 Linux操作系统 作者:shaozb 时间:2009-07-30 13:46:11 0 删除 编辑

中石化电子商务平台性能优化报告

2009-07-27

问题提出:

系统整体性能表现过慢

优化目标:

提高系统整体性能

数据库服务器配置:

小型机    IBM/AIX RISC System/6000

CPU      4

MEMORY 9 Gb

DISK     :阵列柜

OS       AIX 5L

ORACLE  PL/SQL Release 9.2.0.6.0 - Production

                  CORE     9.2.0.6.0 Production     

                     TNS for IBM/AIX RISC System/6000: Version 9.2.0.6.0 - Production     

                     NLSRTL Version 9.2.0.6.0 - Production

            归档(Archivelog)的共享服务器模式(Shared

            SGA:

Fixed Size            749240    

Variable Size          905969664   

Database Buffers      3758096384 

Redo Buffers          16273408   

            UGA:

                            bitmap_merge_area_size               integer  1048576

                            create_bitmap_area_size              integer  8388608

                            hash_area_size                       integer  4194304

                            sort_area_size                       integer  2097152

                            workarea_size_policy                 string   AUTO

IP Address 10.1.20.33

系统性能诊断:

通过分析STATSPACK报告可以看出,性能瓶颈主要表现在如下几个方面,

    MEMORY 资源竞争严重,存在大量的热点块;

I/O等待消耗了大量数据库时间;

CPU 上花费大量的时间进行数据扫描。

问题分析

服务器上Oracle实例配置方面,比较合理,参数的调整对性能的提升效果已经不明显。问题的重点在以下方面:

l         Oracle实例配置参数的分析可以看出,影响I/O的配置参数设置需要调整。

l         对系统数据库存贮架构的分析,表空间以及部分存贮参数需要调整。

l         对系统性能在平均负载情况和负载高峰期的数据库活动以及等待事件的分析可以看出,关于订单、询价书、询价方案、报价书、合同以及供应商等信息的检索是影响性能的主要因素,CPUI/OMEMORY资源的竞争主要表现在这些信息的关联查询中,造成大量的排队等待,降低了系统性能。

l         对外提供共享数据的视图存在性能问题

优化方案:

针对性能诊断涉及的问题,考虑到在不改变服务器硬件资源以及不间断应用系统的情况,利用Oracle 9i的特点,采取最小化结果集、减少逻辑读、减少物理读、减少排序等措施,解决CPUI/OMEMORY资源的竞争,提升系统性能。

优化处理:

一、数据库级的优化

I/O参数调整:提高I/O的吞吐量

二、系统存贮架构级的优化

本系统数据存贮的表空间为:WZECINDXORDERIND以及分区表空间WZHT_P。其中,WZHT_P中存贮了QUEST的数据,现全部移出到QUEST中;

SYSTEM表空间扩展:满足系统字典的存贮空间需要;

部分表的存贮参数调整(initrans等):增加初始事务的分配能力;

索引的调整:增加必要的索引,删除不必要的索引,从而减少磁盘I/O,降低CPU负载;

分区表的调整:合同主附表上采用了分区技术,但缺少分区索引,建立本地分区索引;

索引表空间调整:调整INDX表空间中的部分索引到ORDERIND表空间;

统计分析:收集最新统计数据,提高Oracle优化器执行SQL语句的性能;

三、共享数据视图的优化

建立日期函数,规范时间戳类型数据作为检索条件的语句实现,参见“日期函数”文件;

改写视图定义语句,重建视图,参见“关于视图的优化”文件;

SQL语句案例

涉及订单、合同、询价书、报价书、询价方案以及供应商等数据量比较大的表间关联的查询语句,详见“问题语句”文件,其中列有典型的低效语句案例以及优化后的写法。

优化结论

一、目标实现

通过本次优化,系统整体响应达到秒级,性能趋于稳定,实现优化目标。其中:

对外发布的共享数据视图响应时间提高到1---2秒内

合同综合查询由原来将近一分钟提高到2秒左右;

订单查询由将近一分钟提高到10秒以内;

询价方案、询价书、报价书等的查询性能都有不同程度的提高。

二、存在问题

本次优化是在不间断电子商务系统应用的情况下完成的,存在几个重要的瓶颈问题因为需要程序的调整没有进行,仍然严重影响系统的性能,在“问题语句”文件的瓶颈案例中提供了详尽的解决方法,有待项目组整改。另外,部分表中的数据需要重新组织物理存贮,提高顺序读取以及多块读取的吞吐量,鉴于应用系统不能停顿,本次优化没有进行处理。

二、参考建议

l         LONG类型调整为LOB类型,并设计单独的表进行存贮

l         时间戳类型的字段,尽量减少其上函数索引的建立

l         定期进行统计分析,建议3个月或者半年进行一次

l         增量型数据存贮表上的索引定期进行重构,建议半年进行一次

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16496023/viewspace-610822/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-07-29

  • 博文量
    8
  • 访问量
    3584