性能测试难点之瓶颈分析
2011-05-26 00:56
465 查看
性能测试的目标是评价系统当前性能;寻找瓶颈,优化性能;预测系统未来的性能,可扩展性; 如何定位与分析系统瓶颈,是性能测试中比较难的一点,下面,我们一起来学习一下这方面的知识吧: 性能测试瓶颈分析的关键步骤: 步骤一:性能测试与数据收集; 步骤二:性能瓶颈分析; 步骤三:性能调优解决方案。 步骤一:性能测试与数据收集; 数据收集,需要收集那些内容呢,下面来列一下关键点: 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语句的优化。 |