测试交流学习QQ:476879428

系统性能问题---摘自网络

上一篇 / 下一篇  2013-01-29 11:12:21 / 个人分类:性能测试

 
系统性能问题基本就出在:

       1.日益增长的数据请求与网络带宽的矛盾

       2.日益增长的数据运算与硬件平台的矛盾

       3.日益增长的数据请求与数据库的矛盾

       4.日益增长的数据请求与物理IO的矛盾

网络带宽可以适当解决,硬件之CPU,内存也可以适当解决;唯有物理IO一直不遵从摩尔定律,一直徘徊在2位数。物理读写的磁盘成为了

所有系统瓶颈的源头,找不到原因都可以赖到它的头上,硬盘瓶颈成为放之四海皆成立的定律。

      即然事实不可改变,那我们只有适应,想尽办法去避免大量的IO操作,当然我们也不忘采用各种手段提高IO水平( 条带、SDD、内存库等),

但这都是在我们优化好程序及配置之后才做的事,优化程序及配置是最直接、最有效、最经济的手段,也是程序人最大的骄傲。

      下面来分析一下性能问题出现的地方:

       1.网络瓶颈,如带宽,流量等形成的网络环境
       2.应用服务瓶颈,如中间件的基本配置
       3.系统瓶颈:应用服务器,数据库服务器以及客户机的CPU,内存,硬盘等配置
       4.数据库瓶颈

       5.应用程序本身瓶颈

     以下不考虑网络及硬件升级(花钱解决的事就不是事),下面要讨论的是如何优化IO请求从而达到系统优化

(数据库默认为Oracle,APP默认为Web应用)。

  
   IO请求流程:

    1.APP请求——>2.DB程序处理——>3.内存访问——>4.物理IO(磁盘)

  基于以上路径我们要优化的有四部分

    1.减少APP请求;

    2.提高DB程序性能;

    3.内存使用合理;

    4.物理IO就只有加磁盘条带化,引入新的存储技术(SDD、内存数据库、专门存储设备EXADATA等)



  I.减少APP请求
     避免不必要的数据请求;
     优化业务过程;
     谨慎继承基类,减少不必要的加载;
     避免大对象的引用;
     控制数据连接
     使用缓存
II.提高DB程序性能
    优化物理结构(分区、索引、冗余)
    SQL请求尽可能少、返回最小化
    查询器优化
    避免过载
    单条SQL优化
    并行SQL
    减少资源争用(锁、闩锁、缓存)
III.内存合理使用
    JVM优化
    SGA(缓存高频访问数据)
    PGA(排序、散列)
    AMM(人工干预自动内存管理)
IV.物理IO优化
    条带化
    SDD等存储技术
    数据库数据文件与日志文件存储优化

TAG:

 

评分:0

我来说两句

Open Toolbar