性能瓶颈调优

时间:2021-11-29 19:53:25

性能测试的目标是评价系统当前性能;寻找瓶颈,优化性能;预测系统未来的性能,可扩展性;

性能测试瓶颈分析的关键步骤:
步骤一:性能测试与数据收集;
步骤二:性能瓶颈分析;
步骤三:性能调优解决方案。
步骤一:性能测试与数据收集;


数据收集,需要收集那些内容呢,下面来列一下关键点:
1、客户端性能指标:并发用户数、事务响应时间、每分钟事务数;
2、非客户端性能指标:服务器资源、网络资源:
a、操作系统:如:WINDOWS、UNIX
b、数据库服务器:如:Oracle、SQLServer、DB2、Sybase
c、中间件服务器:如:WebSphere、Weblogic
d、网络:带宽利用率、延迟、丢包、传输错误等 步骤二:性能瓶颈分析;


性能瓶颈分析的关键点包括:
1、响应时间;
2、并发用户数;
3、吞吐量;
4、CPU;
5、内存和高速缓存;
6、磁盘(I/O)
7、中件间服务器性能;
8、数据库服务器性能等。


从以下分析角度来分析性能瓶颈:
1、客户端、网络、服务器;
2、硬件、软件;
3、应用软件、Web服务器、数据库服务器。
通过下图,可以很好帮助我们去分析性能瓶颈;

 

性能瓶颈调优

 

下面对数据库的瓶颈分析做个示例:
1、首先得到数据库系统中每一条SQL语句在数据库中执行的平均时间;
2、然后将效率低下并且频繁调用的SQL语句的执行时间划分为以下部分:解析时间、执行时间、读取时间和其他时间;
3、优化SQL。
步骤三:性能调优解决方案;
1、硬件平台:服务器CPU、内存以及硬盘等;
2、网络平台:负载、延迟、传输故障等等;
3、软件平台:数据库、中间件;
4、应用级别:线程(进程)级别、会话级别、代码级别;
下面对数据库调优举个例子:
1、数据库实例优化
a、library cahce的优化;
b、数据字典高速缓存的优化;
c、数据高速缓存的优化;
d、回滚段的优化;
e、重做日志文件的优化;
f、排序区的优化;
g、数据库IO的优化;
h、数据库碎片的优化;


2、数据库事件响应时间分析
a、等待事件分析;
b、会话级别的事件响应时间分析;
c、数据库实例的响应时间分析;
3、数据库锁管理;

4、SQL语句的优化。