软件压力负载测试的一些经验之谈

发表于:2010-01-13来源:作者:点击数: 标签:负载经验之谈压力软件
软件压力 负载测试 的一些经验之谈 压力测试工具 接触LR有些时间了,也做过几个大型政府OA的测试,一直有一些想法想法和大家交流。 LR做压力负载是一个很少的工具,目前在世界上的市场份额也是最多的,大约在70%左右,次之的是QA_load。 压力负载测试最重要

       软件压力负载测试的一些经验之谈  压力测试工具

  接触LR有些时间了,也做过几个大型政府OA的测试,一直有一些想法想法和大家交流。

  LR做压力负载是一个很少的工具,目前在世界上的市场份额也是最多的,大约在70%左右,次之的是QA_load。

  压力负载测试最重要的是环境的配置,一定要模拟真实的环境,否则得出的结果会和真实情况有很大的出入。

  比如数据库查询时,库里的数据一定要多,也就是所说的大数据量测试。

  环境配置根据不同的系统存在很大差异,但是也有一定的规律可循,或者说一般也有一些通用的原则:

  1、并发用户数一般是在线用户数的2%~3%,需要注意的是使用用户数、在线用户数和并发用户数的却别;

  2、事务响应时间:3秒之内(非常好)、3-5秒(一般)、5-8秒(免强接受)、8秒以内(用户不能接受),一般都遵循3、5、8原则;

  3、每秒事务数:80%的事务在20%的时间内完成(一年安160天算,一天8小时算),一般遵循80-20原则;

  4、服务器在受压情况下,cpu最佳占用率为60%~80%,多了cpu受不了,少了资源浪费;

  5、服务器在不受压情况下,内存占用率最佳为25%,多了影响服务器性能;

  压力负载测试中也需要注意:

  1、注意区别内存泄露和动态内存分配问题;

  2、注意压力端和服务器端的网络流量,一般来说目前的网络不会是系统的瓶颈,但是也需要注意;

  3、单机的压力用户数不要过多,否则会影响测试结果,最好不要超过300;

  4、分不同的组来运行不同的事务脚本,应真实的模拟系统情况;

  1)动态内存分配和内存泄漏为什么要提出来区别?我觉得这两个不容易混淆。

  2)目前对于内网来说确实象你说的那样,但是有很多性能测试涉及到公网,所以这个还是要分开来对待

  另外系统性能的标准,我也发现很多新手问这个,你给的规格不错。不过还是要结合实际的情况分析,比如需求中有明确提到的。

  内存泄露是指内存申请后没有释放,倒是内存占用量不断增加,最后导致系统崩溃。

  动态内存分配存在问题,一般指系统随访问量(或者其他)上升,系统地内存消耗量也上升,而且系统没有限定内存的申请量(或者使用量)(一般来说都要做限定),最后导致系统内存不足而崩溃。

  我之所以强调其区别,是因为用LR做压力测试所表现的症状很相见,都是服务器无响应。

  我个人认为,一般的,如果LR加压后半小时内内存还没有释放干净,可怀疑是内存泄露。

  当然,一切都不决定,很多都要联系系统来分析。

  做压力负载测试时,我也是分不清楚内存泄露和动态内存分配,特别是linux操作系统,根据观察,linux启动后,不进行什么操作,内存也是在不断减少的,这都是动态内存分配的原因,所以在做压力负载测试时,我不知道内存减少是因为内存泄露还是动态内存分配,这两者的表现都是系统内存在不断减少。

原文转自:http://www.ltesting.net