性能测试怎么做!

上一篇 / 下一篇  2013-01-07 15:02:20 / 个人分类:测试实践理论

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

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

我来说两句

日历

« 2024-05-16  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 7226
  • 日志数: 3
  • 建立时间: 2013-01-07
  • 更新时间: 2013-05-16

RSS订阅

Open Toolbar