谁都是自己问题的答案

如何搭建真实的性能测试环境?

上一篇 / 下一篇  2010-05-12 10:53:15 / 个人分类:论坛活动

查看( 590 ) / 评论( 24 )

每周一问:如何搭建真实的性能测试环境呢?

在编写脚本的同时,执行场景之前需要完成测试环境的搭建工作,这里包括硬件和软件环境的搭建。根据性能测试计划中的测试环境规划,完成对整个测试环境的搭建。
由于性能测试的特殊性,整个测试环境需要在严格的独立监控下管理,避免不受控的情况出现导致性能测试数据的偏差(类似于药品制造中的无菌室概念),而另一方面,在实际应用中很难得到真实的系统环境来完成性能测试。


参与讨论:http://bbs.51testing.com/redirect.php?tid=204586&goto=lastpost#lastpost


TAG:

havards的个人空间 havards 发布于2010-05-11 10:22:15
使用Visual Studio 2010

[ 本帖最后由 havards 于 2010-5-18 12:57 编辑 ]
老A archonwang 发布于2010-05-11 14:13:19
有条件的公司可以构建测试实验室来模拟真实环境。。
msnshow的个人空间 msnshow 发布于2010-05-11 21:20:49
完全一致的测试环境是不可能的,但可以尽量模拟,要做到尽量模拟一般从以下几个方面着手:
1、了解目前的现状(即目前线上应用的实际情况)
2、了解未来一般时间的发展趋势
3、选择合适的模型(例如实际线上是两台XX配置的服务器,可能测试环境只有一台,那么可采取压力减半的方式)
4、选择合适的工具
5、合理的设计测试脚本和场景
rolei的个人空间 rolei 发布于2010-05-12 09:50:06
为什么要搭建真实环境进行性能测试?
为什么要搭建真实的环境来执行性能测试?
性能测试的目的是什么?
性能测试要验证什么?系统性能?平台性能?服务性能?还是希望看到系统何时、何种负载下能宕机?

推荐一篇文章(关注第二章和第三章)
Understanding Software Performance Testing

http://www.stickyminds.com/sitew ... iteemail&iDyn=2
专注于性能测试 witcher2002 发布于2010-05-12 12:10:17

QUOTE:

原帖由 msnshow 于 2010-5-11 21:20 发表
完全一致的测试环境是不可能的,但可以尽量模拟,要做到尽量模拟一般从以下几个方面着手:
1、了解目前的现状(即目前线上应用的实际情况)
2、了解未来一般时间的发展趋势
3、选择合适的模型(例如实际线上是两台 ...
说得非常好~
大傻测试空间! liaoxj 发布于2010-05-13 13:42:39
如何搭建一个真实性能测试环境?如何搭建一个真实环境其实不难,只要公司有投入,用户允许,都不是问题。
   我觉得应该多考虑如何在现有资源条件下,如何快速搭建一个仿真的性能测试环境。
   先了解一下性能测试环境一般只哪些:
   性能测试环境:包括硬件、网络,软件
   硬件:服务器,客户端,交换机,防火墙等
   网络:有线还无线,带宽,网络协议
    软件:数据库,中间件,被测软件,操作系统,防火墙等

如何无菌:最好办法就是杀掉,那对上面环境来说,最好所有硬件最新的,所有软件是重装,所有参数都是正确的。一般情况是不可能,
如何快速:环境日常维护,所维护的性能测试能快速还原。
以上事情一般测试团队都在做,但我还担心一件事,如何验证我们的环境是有效的。
那就需使用一些监控工具,如网络监控,系统监控,数据库监控,中间件参数捕捉,存储设备检测,一些硬件指标的了解以及当前环境指标等等。当然还少不了性能测试团队的经验。

[ 本帖最后由 liaoxj 于 2010-5-14 13:17 编辑 ]
juniting的个人空间 juniting 发布于2010-05-13 15:21:34
支持一下
测试王国的个人空间 测试王国 发布于2010-05-13 16:49:41
我记得在哪里有看过讲这个的,呵呵。
支持啦!
咸菜林 咸菜 发布于2010-05-14 10:05:49
这个也是困扰我的问题, 实际模拟环境和真实环境之间的差别太打
不可能模拟类似于真实环境.

只能够在现有公司资源的基础上,
设计模仿实际业务操作的组合场景,
然后根据硬件情况来进行大致的估算,
这里的硬件情况是指在公司现有资源情况下,设计在不同硬件情况下的测试场景
然后根据测试结果来估算实际硬件情况下的系统反应.
xiaoyfanger发布于2010-05-14 11:34:51
这个要自己去动手了
鹭岛发布于2010-05-15 18:34:41
从理论上来说,是可以的,从实际上来说,不现实,真实的环境,那每个项目都可能需要换服务器,这。。。太不现实了
18012746发布于2010-05-15 22:35:44
青音
理论结合实际,我们只要尽可能的借用公司的资源搭建一个更接近真实环境的环境来测试就可以了,呵呵
张君666的个人空间 张君666 发布于2010-05-17 12:58:01
新人初到!支持下。
丽仙的个人空间 HAOYUNXIANXIAN 发布于2010-05-18 09:48:16
学习了,7楼的回答得挺好。但是理论和实际有差别
支持~~~
hueslife的个人空间 hueslife 发布于2010-05-18 13:00:16
进来学习下
haven6 haven6 发布于2010-05-18 14:03:07
如何搭建真实的性能测试环境?
我认为:答案是--精通业务
一、精通业务过去
    如果是个性能升级的项目,首先知道下这个项目的过去背景,尤其是过去哪些环境因素容易产生性能瓶颈?是人多了服务器压力受不了?是大数据造成服务器压力超负荷?还是应用随着时间推移,响应时间变慢等等一系列的原因可以先向用户详细调研清楚。这就像病人去看病,到医院了,医生首先先问病人有什么病症,然后再对症下药。
二、预见业务的未来
    业务投向市场,要做什么?哪些环节、特征可能有机会产生性能瓶颈?要有先预见敌情、先知先觉的洞察能力,做到胸有成竹!

    总之:不精通所测试对象的业务,或是一知半解状态,稀里糊涂的就开始了性能测试必定会影响到性能测试策略,没有良好的性能测试策略,拿出的性能测试结论不但叫人难于信赖,或许还有害于软件本身、甚至影响公司的成本和信誉。不同行业的软件,性能测试指标侧重点通常是不一样,所以对症对策,才可能做到有价值的性能测试!
juniting的个人空间 juniting 发布于2010-05-20 09:35:38
貌似考虑的问题还不止这么多吧
hiltonli的个人空间 hiltonli 发布于2010-05-20 09:57:12
每次要性能测试,这个问题都是很头疼的事情,总感觉测试环境与真实运行环境有太大偏差,测试结果不真实
罗斯汀zdlzx的个人空间 zdlzx 发布于2010-05-20 18:39:19
简而言之,尽量保持性能测试环境与真实生产环境的一致性。具体从以下三个方面来看,

1.硬件环境,包括服务器环境、客户端环境与网络环境

如服务器的型号以及是否和其它应用程序共享此服务器;是否在集群环境下;是否通过BIGIP进行负载均衡;客户使用的硬件配置情况;网络速度(可通过LR模拟限速)

2.软件环境
(1)版本一致性
包括操作系统、数据库的版本,被测的应用软件的版本(含用到的第三方软件的版本)等

(2)配置一致性
系统(操作系统/数据库/应用程序)参数的配置,如数据库的并发读写数,SGA/PGA设置, session 超时配置等


3. 使用场景的一致性
(1)基础数据的一致性
包括预测的业务数据量,业务数据类型的分配,数据库表索引的建立与否,重要的实体包含的明细个数等等

(2)使用模式的一致性
尽量模拟真实场景下用户的使用情况(3W1H: What, Who, When, How 哪些功能常用以及被多少用户在多大频率下如何使用)
Jackc的个人空间 Jackc 发布于2010-05-21 10:35:07
好大好大……的……题目啊~~~

估计完美回答的话怎么也得写个书吧~
我来说两句

(可选)

Open Toolbar