51Testing软件测试论坛

标题: 压力负载测试的一些经验之谈 [打印本页]

作者: 大漠飞鹰    时间: 2005-12-11 11:13
标题: 压力负载测试的一些经验之谈
压力负载测试的一些经验之谈

接触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、分不同的组来运行不同的事务脚本,应真实的模拟系统情况;


以上也是我个人的一些认识,不对的地方,请大家指正。目的只是想多交流,和大家共享,一同提高。

附件中有一个LR的高级应用-dll调用(摘自深圳论坛),大家可以研究研究。
作者: ilovejolly    时间: 2005-12-11 12:43
请教一下
1 动态内存分配和内存泄漏为什么要提出来区别?我觉得这两个不容易混淆。
2 目前对于内网来说确实象你说的那样,但是有很多性能测试涉及到公网,所以这个还是要分开来对待

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

感谢楼主提供的经验之谈。
作者: 大漠飞鹰    时间: 2005-12-11 15:36
内存泄露是指内存申请后没有释放,倒是内存占用量不断增加,最后导致系统崩溃。
动态内存分配存在问题,一般指系统随访问量(或者其他)上升,系统地内存消耗量也上升,而且系统没有限定内存的申请量(或者使用量)(一般来说都要做限定),最后导致系统内存不足而崩溃。

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

这也是浅见,如果不对,请版主指正。

我个人认为,一般的,如果LR加压后半小时内内存还没有释放干净,可怀疑是内存泄露。
当然,一切都不决定,很多都要联系系统来分析。

[ 本帖最后由 大漠飞鹰 于 2005-12-11 15:39 编辑 ]
作者: leonidpro    时间: 2005-12-13 20:03
做压力负载测试时,我也是分不清楚内存泄露和动态内存分配,特别是linux操作系统,根据观察,linux启动后,不进行什么操作,内存也是在不断减少的,这都是动态内存分配的原因,所以在做压力负载测试时,我不知道内存减少是因为内存泄露还是动态内存分配,这两者的表现都是系统内存在不断减少。
作者: ilovejolly    时间: 2005-12-14 11:41
感谢楼上的两位
作者: thefirstred    时间: 2005-12-16 11:55
我看是否有内存泄漏的时候是这样做的:记录大并发开始前和结束后的差值,然后再记录不做压力的时候相同时间内的内存差值,两者作对比,如果很大的话就认为有内存泄漏。不知道这样对不对?
作者: Angel_gou    时间: 2006-1-16 17:26
标题: lz,请教一下
事务响应时间,每秒事务数指的一个用户数还是虚拟用户总数呢
作者: jut984907    时间: 2006-1-17 11:35
标题: 交流交流
2、8原则是不错,5秒是操作忍受的临界点也好;
只是“并发用户数一般是在线用户数的2%~3%”,是如何有此根据的?
作者: 大漠飞鹰    时间: 2006-1-18 08:48
每秒事务数是根据实际情况统计出来的,然后再确定压力测试的方法和虚拟用户数,比如一天有多少人订飞机票,然后除以时间,得出每秒事务数。
至于并发用户数一般是在线用户数的2%~3%,这也只是一个经验之谈,实际情况要实际分析。这个数据是信息产业部的软件评测中心的人告诉我的。我在实际测试中也是按这个来测试的。
作者: dnapoweron    时间: 2006-1-18 11:54
个人认为这个经验公式要根据不同的业务来定制
作者: cherry8163    时间: 2006-3-3 09:07
非常感谢大家的分享。。。
作者: dandan    时间: 2006-3-3 11:08
标题: 是的,感谢
受益不潜哦
作者: 大漠飞鹰    时间: 2006-3-8 13:04
自己的帖子,自己顶顶!
作者: codecnzgj    时间: 2006-3-9 14:05
说得不错.如果能更深入的讲解下怎么区分内存泄漏和动态分分配就更好了.
作者: sunshine_luo    时间: 2006-3-9 21:52
在向系统加压过程中,如果系统的内存没有泄露,那么当压力一定时,内存的使用率应该大致维持在一定的范围内。如果内存有泄露,那么随着时间的增加,内存使用应该越来越高;当然比如一次操作内存泄露不大,那么就需要运行大量的时间才能看出来。所以个人认为,应该把检查内存泄露放在单元测试中进行,而不在进行性能测试的过程中去检查这点。
以前在作嵌入式开发中,检查内存的方式是:执行一次操作(或者流程)前,检查系统的内存数,执行一次操作后,再次检查系统的内存数,如果没有内存泄露,那么两次的内存数是相同的,如果有泄露,还可以知道泄露多少个字节。当然可以这么做前提是该系统提供了类似的一些命令
作者: alexchen    时间: 2006-3-9 22:55
谢谢分享
作者: mapaladin    时间: 2006-3-10 09:13
高人好多,以后要好好学学,大家多发言啊。
作者: kimi23    时间: 2007-6-20 19:48
谢谢
作者: 人月神话    时间: 2007-6-21 09:24
好东东。顶
作者: hehemeimei    时间: 2007-6-21 09:45
学习,学习
作者: stomic    时间: 2007-6-21 18:15
thanks
作者: dawee    时间: 2007-6-21 18:24
原帖由 大漠飞鹰 于 2005-12-11 11:13 发表
压力负载测试的一些经验之谈

接触LR有些时间了,也做过几个大型政府OA的测试,一直有一些想法想法和大家交流。
LR做压力负载是一个很少的工具,目前在世界上的市场份额也是最多的,大约在70%左右,次之的是 ...



动态内存分配一般都在系统层控制吧?

在程序中可以控制动态内存的分配吗?不能吧?
作者: wing821022    时间: 2007-6-21 21:31
study
作者: lihao@163.com    时间: 2007-6-21 22:59
学习中
作者: Jerry_zhiyuan    时间: 2007-6-22 23:46
谢谢分享
作者: stomic    时间: 2007-6-26 15:08
我需要这个
作者: stomic    时间: 2007-6-26 15:08
thanks
作者: wukucom    时间: 2008-1-7 06:19
标题: 回复 2# 的帖子
thanks
作者: log_1    时间: 2008-1-9 16:04
ding
作者: iseelxh    时间: 2008-1-9 16:45
标题: 好经验
谢谢分享!
作者: test_test81    时间: 2008-1-9 23:53
谢谢分享!
作者: dujun    时间: 2008-1-10 10:13
下载了 谢谢 很有用
作者: hxf    时间: 2008-1-10 15:12
要跟高人学习一下呀
作者: hxf    时间: 2008-1-10 15:14
使用用户数、在线用户数是如何来区别的
作者: xiaofei0604    时间: 2008-1-10 22:51
谢谢大家能把自己的心得发上来
作者: ganlan    时间: 2008-1-11 09:08
非常不错,谢谢鹰哥。
作者: jiang860718    时间: 2008-1-11 10:27
那就再来顶一下!
作者: 凤凰山    时间: 2008-1-14 12:01
thank you very much !
作者: pycctv    时间: 2009-7-1 16:34
多谢了 虽然我还没有接触过这方面的测试,但是也学习了,以后会用到的。
作者: zh_51testing    时间: 2009-9-27 15:06
关于内存泄露的讨论使我受益匪浅。
作者: bluejay    时间: 2009-9-27 15:28
虽然是个老帖子,但是还是可以学到一些东西!
作者: dieer_ping    时间: 2009-9-27 17:51
xuexi




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2