性能测试中如何定位性能瓶颈

发表于:2011-3-21 10:30

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:andyfly_001    来源:51Testing软件测试博客

分享:

  碰到过的性能问题:

  1. 在高并发的情况下,产生的处理失败(比如:数据库连接池过低,服务器连接数超过上限,数据库锁控制考虑不足等)

  2. 内存泄露(比如:在长时间运行下,内存没有正常释放,发生宕机等)

  3. CPU使用偏离(比如:高并发导致CPU使用率过高)

  4. 日志打印过多,服务器无硬盘空间

  如何定位这些性能问题:

  1. 查看系统日志,日志是定位问题的不二法宝,如果日志记录的全面,很容易通过日志发现问题。

  比如,系统宕机时,系统日志打印了某方法执行时抛出out of memory的错误,我们就可以顺藤摸瓜,很快定位到导致内存溢出的问题在哪里。

  2. 利用性能监控工具,比如:JAVA开发B/S结构的项目,可以通过JDK自带的Jconsole,或者JProfiler,来监控服务器性能,Jconsole可以远程监控服务器的CPU,内存,线程等状态,并绘制变化曲线图。

  利用Spotlight可以监控数据库使用情况。

  我们需要关注的性能点有:CPU负载,内存使用率,网络I/O等

  3. 工具和日志只是手段,除此之外,还需要设计合理的性能测试场景

  具体场景有:性能测试,负载测试,压力测试,稳定性测试,浪涌测试等

  好的测试场景,能更加快速的发现瓶颈,定位瓶颈

  4. 了解系统参数配置,可以进行后期的性能调优

  除此以外,还想说个题外话,就是关于性能测试工具的使用问题

  在刚开始用Loadrunner和JMeter的时候,做高并发测试时,都出现过没有把服务器压垮,这两个程序自己先倒下的情况。

  如果遇到这个问题,可以通过远程调用多个客户端的服务,分散性能测试工具客户端的压力来解决。

  说这个的目的是想说,做性能测试的时候,我们一定要确保瓶颈不要发生在我们自己的测试脚本和测试工具上。

版权声明:本文出自andyfly_001的51Testing软件测试博客:http://www.51testing.com/?211722

原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。

44/4<1234
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • zhifei.xie
    2014-4-23 10:00:38

    怀疑这里抄一点那里抄一点!

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号