软件测试,测试工具,软件测试培训,性能测试,测试管理,测试工程师,测试用例,自动测试

TestAge 软件测试论坛's Archiver

阳光 发表于 2007-11-16 11:36

我与性能测试有个约会

[font=宋体][size=10.5pt][size=16pt][font=Times New Roman]1 [/font][/size][font=宋体][size=16pt]契子[/size][/font][/size][/font]
[font=宋体][/font]
[font=宋体][size=10.5pt][size=16pt][/size]晚上了打开笔记本,想写些什么,[/size][/font][font=宋体][size=10.5pt]也许偶然的灵感吧,想到这个题目——《我与性能测试有个约会》,觉得很有意思,在很早的时候看过一本小说叫做《我与什么有个约会》,记不太清楚了;也许是联想吧;有的时候发现我也是一个很喜欢联想的人;在听着键盘卡达卡达的声音的时候就觉得很有意思,很充实,浮想联翩。[/size][/font][size=10.5pt][/size]
[font=宋体][size=10.5pt]我阳光毕业与[/size][/font][size=10.5pt][font=Times New Roman]2002[/font][/size][font=宋体][size=10.5pt]年,我的机遇不错遇到了好的工作机会和几个不错的老师,想起来就很觉得幸运,但是幸运也是给与有准备的人和勤奋的人,机会很重要,能抓住机会更重要。那么我们如何抓住机会呢,就像谈恋爱,也许有个约会不一定可以成为恋人伴你一生,使你终身受益;那么我们要抓住机会抓住这个约会发展下去,成为行业的成功者,或者说成为这个领域的高手。[/size][/font][size=10.5pt][/size]
[font=宋体][size=10.5pt]我在一家第三方的测试机构工作[/size][/font][size=10.5pt][font=Times New Roman]5[/font][/size][font=宋体][size=10.5pt]年,做的测试很多,有功能的也有性能的还有安全评估的,总之[/size][/font][size=10.5pt][font=Times New Roman]5[/font][/size][font=宋体][size=10.5pt]年做了各种各样的测试,不过我还是觉得比较喜欢做性能测试,不是我对其他测试有偏见,只是个人的看法。我觉得做性能测试很有意思,很能有成就感,通过你的测试可以知道被测系统的优势和缺点,可以很定量的告诉用户或者领导,某某系统的最并发用户是[/size][/font][size=10.5pt][font=Times New Roman]100[/font][/size][font=宋体][size=10.5pt]个、某某路由器的吞吐量在[/size][/font][size=10.5pt][font=Times New Roman]64[/font][/size][font=宋体][size=10.5pt]字节的时候是[/size][/font][size=10.5pt][font=Times New Roman]40Mbps[/font][/size][font=宋体][size=10.5pt];某某防火墙的[/size][/font][size=10.5pt][font=Times New Roman]64[/font][/size][font=宋体][size=10.5pt]字节数据包[/size][/font][size=10.5pt][font=Times New Roman]40Mbps[/font][/size][font=宋体][size=10.5pt]情况下的延时是[/size][/font][size=10.5pt][font=Times New Roman]2[/font][/size][font=宋体][size=10.5pt]秒等等,很清晰很明确的就能让领导知道你要说什么,也很明白让用户知道他的系统能够承受的压力等等;还有一点就是在做性能测试的时候特别是长时间的性能测试,在运行期间可以拿着一个本子,一段时间去记录一次数据。最后有系统给出测试结果。有成就感又很轻松。所以很多人都比较羡慕做性能测试的工程师,开始我也是。但是做性能测试有性能测试的烦恼,性能测试一般不能是手工测试,应为要精准的统计结果,或者做出大量的负载一般情况下手工是做不到的,(不过有的时候也肯会有手工做性能测试的比如早期的时候测试[/size][/font][size=10.5pt][font=Times New Roman]IDS[/font][/size][font=宋体][size=10.5pt]的报警时间,那个时候我们用秒表计时现在我也没有太好的方法,要是那个读者知道可以告诉我。)这样就需要测试工具或者专门的测试仪表来配合使用。这样我们做性能测试的时候除了要分析被测系统,开发测试方案,同时还要掌握性能测试工具的使用(现在有些误区有些网友一提起性能测试很快就会想起[/size][/font][size=10.5pt][font=Times New Roman]LR QAload[/font][/size][font=宋体][size=10.5pt]等测试工具来,甚至有的认为会了这些工具就会了性能测试。)同时还要分析测试工具给出的测试报告;有的时候你会发现不是被测系统的问题而是测试工具的问题,所以在做性能测试之前除了要做性能测试还要对测试工具进行验证分析等工作(我们称为测试工具的校验或校准)。[/size][/font][size=10.5pt][/size]
[font=宋体][size=10.5pt]呵呵有些跑题了,罗里啰唆的说了这么多,也不知道是不是找不到北了,(我找不到了);那么我这个与性能测试的约会要怎么写呢,我想这样,从我开始做性能测试到现在做的各种性能测试,我按照被测系统的类别来分,每个测试类别写一章,也许这个文章很长,也许会用到很多测试工具和方法,也许方法已经过时,但是我想只要能给大家一个参考我就没有白写,还有一个问题要说一下,我在写的过程中可能会有一些错别字,要是大家实在看不懂可以在后面跟贴我来帮大家看呵呵,今天就到这里,先把契子写了,也算我对[/size][/font][font=宋体][size=10.5pt]原创的承诺!说一下大体安排:[/size][/font][size=10.5pt][/size]
[font=宋体][size=10.5pt]第一章:服务器性能评测[/size][/font][size=10.5pt][/size]
[font=宋体][size=10.5pt]第二章:防火墙性能测试[/size][/font][size=10.5pt][/size]
[font=宋体][size=10.5pt]第三章:[/size][/font][size=10.5pt][font=Times New Roman]NIDS[/font][/size][font=宋体][size=10.5pt]性能测试[/size][/font][size=10.5pt][/size]
[font=宋体][size=10.5pt]第四章:[/size][/font][size=10.5pt][font=Times New Roman]Web[/font][/size][font=宋体][size=10.5pt]性能测试[/size][/font][size=10.5pt][/size]
[font=宋体][size=10.5pt]第五章:音频识别系统性能测试[/size][/font][size=10.5pt][/size]
[font=宋体][size=10.5pt]第六章:封堵系统性能测试[/size][/font][size=10.5pt][/size]
[font=宋体][size=10.5pt]第七章:搜索引擎类性能测试[/size][/font][size=10.5pt][/size]
[font=宋体][size=10.5pt]第八章:信息检索类性能测试[/size][/font][size=10.5pt][/size]
[font=宋体][size=10.5pt]第九章:邮件服务类和[/size][/font][size=10.5pt][font=Times New Roman]FTP[/font][/size][font=宋体][size=10.5pt]协议相关类性能测试[/size][/font][size=10.5pt][/size]
[font=宋体][size=10.5pt]第十章:流媒体性能测试[/size][/font][size=10.5pt][/size]

阳光 发表于 2007-11-16 11:38

2        第一章服务器性能评测
昨天把前面的契子放到了17testing的论坛,但是被关注的并不多,有些伤心可能是大家对我写的东西不敢兴趣吧,好吧那接着写具体的技术的东西。
时间推移一下回到2003年,我刚刚上班一年,那个时候在做一些预研课题的测试,一天我的老大交给我了一些工具让我研究下,好像是WebBench;NETBECH;SERVERBENCH和Bechmark Factory;我没有太在意在工作之余安装运行了一下,好像还遇到了很多的问题,然后就是看长篇的英文版主,后来好像也解决了,呵呵大家可能想看问题的解决,因为我提到了测试工具不急,不说这些没用的了,我们开始服务器性能评测;
服务器性能评测,这里说的服务器不是我们常说的那种提供Web服务,FTP服务的服务器软件,而是硬件服务器,要评测的也是硬件服务器可以提供服务的能力。这种测试一般在采购服务器的时候或者做选型的时候进行性能测试。那么如何进行测试呢?
2.1        评测标准
首先我们看一下服务器的评测标准,在服务器性能测评方面现行主要有两个标准机构:SPEC(标准性能评估机构)和TPC(事物处理性能委员会)。
SPEC(the Standard Performance Evaluation Corporation标准性能评估机构)是一个全球性的、权威的第三方应用性能测试组织,它旨在确立、修改以及认定一系列服务器应用性能评估的标准。
TPC(Transaction Performance Council,事务处理性能委员会)是由数十家会员公司创建的非盈利组织,总部设在美国。TPC的成员主要是计算机软硬件厂家,而非计算机用户,其功能是制定商务应用基准程序的标准规范、性能和价格度量,并管理测试结果的发布。
2.1.1        SPEC标准性能评估机构
SPEC服务器应用性能测试是一个全面衡量Web应用中java企业应用服务器性能的基础测试。在这个基准测试中,系统模拟一个现代化企业的电子化业务工作,如客户定购查询、产品生产制造管理、供应商和服务器提供商管理等,给系统以巨大的负载,以全面测试运行典型java业务应用的服务器性能水平。
由于它体现了软、硬件平台的性能和成本指标,被金融、电信、证券等关键行业用户作为选择IT系统一项权威的选型指标。该测试是目前业界标准的、权威的基准测试之一,得到众多国际软硬件厂商如Intel、BEA、Oracle、IBM、SUN等的支持和参与。SPEC体系中最广为人知的两个子项,是衡量CPU、内存性能的CPU2000和Web服务器性能的web2005。
SPEC指标体系由Standard Performance Evaluation Corp.制定,目前主要包括针对CPU性能的SPEC CPU2000(已有CPU2006,但尚无数据)、针对Web服务器的SPECweb2005、针对高性能计算的SPEC HPC2002与SPEC MPI2006、针对Java应用的jAppServer2004与JBB2005以及对图形系统、网络和邮件服务器的测试指标。
CPU2000 注重CPU
SPEC CPU2000(已经有新的SPEC CPU2006,在2007年将逐渐代替CPU2000) 是一组针对 CPU 和内存的测试,它主要测试的对象是 CPU、内存,不测试硬盘、I/O 效率和网络等部分。SPEC CPU2000 由许多源代码程序组成,这些程序都从实际的应用(主要来自配置1~4颗CPU的工作站应用)中取出来的,例如 164.gzip 就是gzip 压缩程序。这些程序区分成“整数”和“浮点数”两组。SPECint2000 就是“整数”部分,而 SPECfp2000 则是“浮点数”部分。“整数”部分有 12 个程序,使用 C 或 C++ 语言,它们不使用CPU的浮点单元;而“浮点数”部分有 14 个程序,使用 FORTRAN 77/90 和C语言,这些程序的主要运算是浮点数的。
SPECint2000 和 SPECfp2000 的结果,以执行时间为准。每个程序的执行时间和一个参考平台(Sun Ultra5/10 300MHz)相比,计算出其倍数。如果执行时间和参考平台相同,结果就是100。如果只花了一半时间完成,结果就是200。“整数”的12 个程序的结果,取其平均值,得到的就是SPECint2000 的测试结果。“浮点数”的 14 个程序也是一样。
由于SPEC CPU2000的测试程序都是源代码形式(以保证跨平台测试),所以编译器效率就显得十分重要。SPEC CPU2000规定,测试结果有“Base”和“Peak”两种结果。“Base”测试中,对于编译时的最佳优化参数有所规定(所有的程序都需使用同样的参数,且参数数目不能超过四个),而“Peak”测试则比较宽松。
另外,因为 SPEC CPU2000的程序都是针对单CPU的系统设计,因此,在多CPU系统上,如果要测试多CPU系统的效率,则是采取同时执行多个相同程序的方法,这个结果就是“Rate”。因此,同样有 SPECint_rate 和 SPECfp_rate 的测试结果。需要说明的是,“Rate”测试同时执行多个相同的程序,但程序之间并不会有关联,所以这是一种理论计算能力测试,并不代表实际并行计算能力。
Web服务Web2005
SPEC web2005测试的原理是,通过多台客户机向服务器发出Http Get请求,请求调用Web服务器上的网页文件,这些文件从数千字节到数兆字节不等。在相同的时间里,服务器回答的请求越多,就表明服务器对客户端的处理能力越强,系统的Web性能就越好。
目前SPECweb2005测试榜上,性能最高的是2005年11月发布的Sun Fire T2000系统,此系统的基本配置为1颗8核心的UltraSPARC T1(1.2GHz)/32GB内存/3×73GB万转SAS硬盘/Solaris 10/UFS文件系统/Java2 Runtime Environment,能够同时响应14001个Http请求。这一性能比排行第二的系统高出77%。如果用户知道两套系统的价格接近,那么就可轻易得知,采购Fire T2000作为Web服务器,性价比将比采购第二名的系统高出许多。
不过SPECweb2005的缺陷也正在于此,它不像TPC-C那样要求厂商提供测试环境的总成本,对于实际采购的指导意义有所削弱。由于SPEC是一个非赢利的标准化组织,通过SPEC得到的测试值是一种严格标准化的测试结果,因此只要按照SPEC提供的测试原则和测试流程对系统进行操作,其最终结果将能够得到业界主要服务器厂商和用户的认可。

阳光 发表于 2007-11-16 11:38

2.1.2        TPC基准测试
  TPC不给出基准程序的代码,而只给出基准程序的标准规范。任何厂家或其他测试者都可以根据规范,最优地构造出自己的测试系统(测试平台和测试程序)。为保证测试结果的完整性,被测试者(通常是厂家)必须提交给TPC一套完整的报告(Full Disclosure Report),包括被测系统的详细配置、分类价格和包含5年维护费用在内的总价格。该报告必须由TPC授权的审核员核实(TPC本身并不做审计)。TPC在全球只有不到10名审核员,全部在美国。
TPC推出过11套基准程序,分别是正在使用的TPC-App、TPC-H、TPC-C、TPC-W,过时的TPC-A、TPC-B、TPC-D和TPC-R,以及因为不被业界接受而放弃的TPC-S(Server专门测试基准程序)、TPC-E(大型企业信息服务测试基准程序)和TPC-Client/Server。而目前最为“流行”的TPC-C是在线事务处理(OLTP)的基准程序,于1992年7月完成,后被业界逐渐接受。
TPC-C使用三种性能和价格度量,其中性能由tpmC(transactions per minute,tpm)衡量,C指TPC中的C基准程序。它的定义是每分钟内系统处理的新订单个数。TPC-C还经常以系统性能价格比的方式体现,单位是$/tpmC,即以系统的总价格(单位是美元)/tpmC数值得出。
从TPC-C的定义不难知道,这套基准程序是用来衡量整个IT系统的性能,而不是评价服务器或某种硬件系统的标准,而且tpmC数值的高低直接受到各个环节的影响,右表大概可以说明系统设置对tpmC测试的影响。此处的“IT系统”包括服务器、外设(如硬盘或RAID)、服务器端操作系统、数据库软件、客户端及其操作系统、数据库软件和网络连接等。因此,如何解读tpmC数值会因不同的采购需求有非常大的差异。
2.1.3        其他测试基准
除了以上介绍的两个测试标准外还有其他的一些服务器标准测评指标,如Linpack它测试CPU密集浮点运算性能。以下是服务器评测的一些Benchamark软件:
1)        SPECweb99 相对简单的webserver 的基准测试;
2)        SPECweb99_SSL SPECweb99 的SSL版本;
3)        SPEC SFS97 基于NFS的file server的基准测试;
4)        SPECmail2001 电子邮件系统的基准测试;
5)        SPECjbb2000 基于Java的业务的基准测试;
6)        ECperf 企业Javabean的基准测试- 马上将被SPECjAppServer2001代替;
7)        SPEC CPU2000 整数和浮点运算的基准测试;
8)        SPEC OMP2001: 测试基于OpenMP并行化的并行应用性能的基准测试;
9)        TPC-C 老事务处理的基准测试;
10)        TPC-H Ad-hoc 查询以及决策支持的基准测试;
11)        TPC-R 商业报告以及决策支持的基准测试;
12)        TPC-W 基于事务处理的互联网电子商务的基准测试;
13)        Oracle Applications benchmark:Oracle应用程序的基准测试;
14)        Fluent CFD benchmarks:Fluent公司计算流体动力的基准测;
15)        Server and workstation benchmark records at Ideas International:Ideas International Limited (IDEAS)公司的服务器和工作站的基准测试(包括产品的性能,价格,服务)。

阳光 发表于 2007-11-16 12:58

2.2      评测指标
什么是测试指标,测试指标就是在一个测试中需要测试什么;测试指标来源于依据的标准如:国际标准,国家标准,行业标准等,或者来源于系统需求;也可能来源于系统的规格说明书等;那么服务器的测试指标是什么呢,或者说服务器要测试什么呢,通过对服务器的



研究和参考的一些常见的服务器评测资料,我们给出以下测试指标:

[attach]1302[/attach]

[[i] 本帖最后由 阳光 于 2007-11-16 14:09 编辑 [/i]]

阳光 发表于 2007-11-16 12:59

2.3    测试工具
服务器的性能评测工具很多,在互连网上也有不少免费的和开源的评测工具,今天我们在这一部分就分为网络版和单机版网络类来介绍用于服务器评测的工具。

2.3.1    单机版评测工具
1) SPECCPU2000



SPEC CPU2000是SPEC组织推出的一套CPU子系统评估软件,它包括CINT2000和CFP2000两个子项目,前者用于测量和对比整数性能,而后者则用于测量和对比浮点性能。计算系统中的处理器、内存和编译器都会影响最终的测试性能,而I/O(磁盘)、网络、操作系统和图形子系统对于SPEC CPU2000的影响非常的小。

在测试过程中需要在被测服务器中安装了Intel C++ 8.1 Compiler、Intel Fortran 8.1 Compiler这两款SPEC CPU2000必需的编译器,另外安装了Microsoft Visual Studio 2003.net提供必要的库文件。按照SPEC的要求可以根据自己的情况编辑了新的Config文件,进行满足Base的测试。

下面的测试成绩是在开启双Xeon处理器超线程条件下,4用户,SPECint_rate_base2000和SPECfp_rate_base2000。

 [attach]1303[/attach]


SPECfp_rate2000测试过程中同时执行多个实例(instance),测量系统执行计算密集型浮点操作的能力,比如CAD/CAM、DCC以及科学计算等方面应用可以参考这个结果。SPECint_rate 2000测试过程中同时执行多个实例(instances),然后测试系统同时执行多个计算密集型整数操作的能力,可以很好的反映诸如数据库服务器、电子邮件服务器和Web服务器等基于整数应用的多处理器系统的性能。以下是一个服务器的测试结果。

 [attach]1304[/attach]




SPEC CPU现行最新版本是SPEC CPU2006相关的测试数据和工具的使用文档可以在SPEC的网站上进行下载,此软件没有提供免费试用版,在互联网上也比较难下到免费版或者破解版,如果应用这个软件需要购买,具体信息可以在SPEC的网站上进行查询。

2) ScienceMark2

ScienceMark2软件测试主要分为两部分,首先的是对处理器Cache以及系统内存速度的性能评估。对于测试结果我们还是采用的对比的模式,大家可以清楚的看出,无论在L1 Cache还是L2 Cache以及系统Memory的TEST中,I925XE平台的结果都要领先一些,但相应的来说还是内存的测试结果差别更大。

ScienceMark最重要的功能是进行量子化学方面的计算,由于它在计算后会给出运行时间,所以还能当作很好的测试CPU性能的软件。我们进行了两种计算,其中Molecular Dynamics是对140开尔文温度下216个氩原子进行分子动力学模拟;Primordia测试是对钷元素61个电子的薛定谔方程求量子解。通过这些测试,基本上能体现出CPU、内存的性能高低,以上就是测试结果,单位是秒,数值越小表明性能越好。

工具运行界面如下图所示:


图:附录2-1:ScienceMark2.0界面
[attach]1309[/attach]
3) Sisoft Sandra

Sisoft Sandra([url=http://www.sisoftware.co.uk/]www.sisoftware.co.uk[/url]):WINDOWS下基准评测系列测试软件是Windows系统下的基准评测软件。此软件有超过三十种以上的测试项目,能够查看系统所有配件的信息,而且能够对部分配件(如CPU、内存、硬盘等)进行打分(benchmark),并且可以与其它型号硬件的得分进行对比。另外,该软件还有系统稳定性综合测试、性能调整向导等附加功能。(此软件可以在网上下载到破解版,具体信息可以在google里进行搜索)


图:附录2-2:Sisoft Sandra 测试界面
[attach]1306[/attach]
4) IOmeter

Iometer([url=http://www.iometer.org/]www.iometer.org[/url]):存储子系统读写性能测试工具是Windows系统下对存储子系统的读写性能进行测试的软件。可以显示磁盘系统的最大IO能力、磁盘系统的最大吞吐量、CPU使用率、错误信息等。用户可以通过设置不同的测试的参数,有存取类型(如sequential ,random)、读写块大小(如64K、256K),队列深度等,通过模拟实际应用的读写环境进行测试。(此软件是一个免费的小软件可以在网站上得到下载)


图:附录2-3:Iometer 配置界面
[attach]1307[/attach]
5) Ubench

Ubench是在Unix或者linux操作系统中来评价CPU和内存以及AVG的性能的;它的评测原理是:通过多块CPU执行整数运算和浮点运算3分钟的到的结果是CPU性能基准。通过对内存进行读写操作3分钟即为内存基准。

6) IOzone

Iozone([url=http://www.iozone.org/]www.iozone.org[/url])是一款Linux下I/O性能基准测评工具,可以测试不同的操作系统中文件系统的读写性能。可以测试Read, write, re-read, re-write, read backwards, read strided, fread, fwrite, random read, pread ,mmap, aio_read, aio_write 等等不同的模式下的硬盘的性能。测试结果生成excel文件。另外iozone还附带了用gnuplot画图的脚本,可以将测试结果以图形方式表现。该软件用在大规模机群系统上测试NFS的性能,更加具有说服力。

[[i] 本帖最后由 阳光 于 2007-11-16 14:23 编辑 [/i]]

阳光 发表于 2007-11-16 13:01

2.3.2        网络版测试工具
网络版测试工具是需要在测试服务器性能的时候搭建一定的应用网络,通过客户端服务器的形式来评测服务器的性能,我们要介绍以下常用的测试工具:

1)  Netperf

Netperf可以测试服务器网络性能,主要针对基于TCP或UDP的传输。Netperf根据应用的不同,可以进行不同模式的网络性能测试,即批量数据传输(bulk data transfer)模式和请求/应答(request/reponse)模式。Netperf测试结果所反映的是一个系统能够以多快的速度向另外一个系统发送数据,以及另外一个系统能够以多块的速度接收数据。

Netperf工具以client/server方式工作。server端是netserver,用来侦听来自client端的连接,client端是 netperf,用来向server发起网络测试。在client与server之间,首先建立一个控制连接,传递有关测试配置的信息,以及测试的结果;在控制连接建立并传递了测试配置信息以后,client与server之间会再建立一个测试连接,用来来回传递着特殊的流量模式,以测试网络的性能。

2)  NetIQ Chariot

Chariot的基本组成包括Chariot控制台和Endpoint。其中Chariot控制台可以运行于Microsoft的各种Windows平台。在Chariot控制台上可以定义各种可能的测试拓扑结构和测试业务类型。

Endpoint可以运行在几乎目前流行的所有操作系统上。Chariot Endpoint能够充分利用运行主机的资源,执行Chariot控制台发布的Script命令,从而完成需要的测试。


图:附录2-4:Chariot应用方式图
[attach]1312[/attach]
利用Chariot可以进行网络维护,性能测试和故障定位, Chariot支持多种网络业务,内置超过120个业务脚本,如FTP,HTTP,IPTV,Netmeeting,RealAudio等。Chariot可以支持以下测试。

1)  Chariot支持IP TOS,GQoS,DiffServ;

2)  Chariot能实现单个主机可以模拟超过2000个主机;

3)  Chariot支持组播业务;

4)  VoIP网络测试与业务质量评估:支持6种VOIP Codec(G.711a,G.711a ,G.723.1-ACELP,G.723.1-MPMLQ,G.726,G.729);

5)  支持MOS评分,便于对VOIP网络进行实时分析;

6)  能够对电信终端进行性能测试和评估:能够测试网卡(10/100/1G/无线/蓝牙),xDSL调制解调器,Cable Modem, ISDN。终端,普通调制解调器,GPRS手机,CDMA手机;

7)  测试防火墙及应用网关。

Chariot是最优秀的软件测试工具之一,被全球最大的电信运营商们所采用,是保证网络健康运行的利器。Chariot具有以下优势:

1)      利用Chariot,无需进行硬件投资,可以利用当前几乎所有的计算机资源进行测试;

2)      Chariot支持包括VoIP在内的超过120种业务的测试;

3)      使用Chariot,电信运营商可以灵活的设计测试结构,对网络全方位进行测试(当前业务质量,可能开通的业务质量,网络升级预计);

4)      Chariot具有GUI界面和集中控制功能,能够产生图形化报表和详细测试数据,大大降低的测试的复杂性;

5)      Chariot提供开放的API接口,用户可以构筑个性化的测试软件;

6)     Endpoint支持几乎全部的操作系统 ,Endpoint支持的操作系统有:Compaq Tru64 UNIX、FreeBSD UNIX、HP-UX、IBM AIX、IBM MVS、IBM OS/2、Linux 、Linux IA-64、Microsoft Windows 3.1、Microsoft Windows 95、Microsoft Windows 98/Windows Me、Microsoft Windows NT/2000/XP/XP(64-bit)、Novell Netware、Sco UNIXWare、SGI IRIX、Spirent Communications TeraMetrics、Sun Solaris。

3)  NetBench

NetBench主要用来测试文件服务器对网络文件存取的处理能力,文件安装在文件服务器上,客户机请求读写服务器上面的这些文件,这时控制端监视并记录服务器的性能。NetBench7.02软件包共包含两个文件,如下图所示。其中nb702cl.exe是客户端安装软件;nb702co.exe是控制端安装文件;服务器端没有要安装的软件。

netbench在工作过程中是通过一个controller来控制多个客户端,向服务器的共享文件夹里读写文件来测试服务器对网络文件存取的能力。

在测试过程中在controller的安装文件夹中的配置文件client.cdb中配置客户端主机的IP地址和序号,在%system%/winnt/system32/drivers /etc/ hosts文件中增加服务器的ip地址和服务的的机器名;在客户端只需要安装netbench的客户端程序,然后在%system%/winnt/system32/drivers /etc/ hosts文件中配置服务的ip地址和服务器的名称和控制台的地址和机器名称;在服务器端只需要设置一个共享目录,然后将这个共项目录分别映射的各个客户端的机器上。

执行测试的过程中,从控制台连接各个client,执行控制台的测试脚本就可以了。

4)  ServerBench

ServerBench软件包包含三个主要文件,其中sbclient.exe是客户端安装软件;sbcontlr.exe是控制端安装文件;ntx86.exe是服务器端安装软件,这三个软件是压缩的,可以自解压。

在测试的过程中,在被测服务器上安装服务器端软件,在不同的客户机上分别安装客户端软件,在控制台上安装控制台软件。

工作过程中,在控制端配置测试脚本,通过控制台向每个客户端根据测试脚本,客户端通过和服务器端之间的通讯来测试服务器的性能,包括:服务器的net性能 、服务器的disk性能,服务器的proc性能和sys性能。

Serverbench的工作原理是通过控制台编辑下发给每个客户端去执行脚本,客户端通过跟服务器端按照脚本进行通信,从而测试出服务器的disk、net、proc、和sys的性能。

5)  FileBench

FileBench是一款适用于文件服务器性能测试的软件。主要测试服务器基本的I/O性能,它主要由网络接口、系统带宽、磁盘子系统这几部分性能所决定。测试基准中使用大操作块读大文件和小操作块读小文件,这两中典型情况。以大操作块读写大对象文件,小操作块读写小对象文件,较能反映服务器最基本的I/O性能,即“大操作块读写大文件”对系统带宽、缓存的考察,以及“小操作块读写小文件”对磁盘子系统、网络接口的考察。

6)  BenchMark Factory

著名的 Quest 服务器性能测试软件 Benchmark Factory 是一种高扩展性的强化测试、容量规划和性能优化工具,可以模拟数千个用户访问应用系统中的数据库、文件、Internet及消息服务器,从而更加方便地确定系统容量,找出系统瓶颈,隔离出用户的分布式计算环境中与系统强度有关的问题。无论是服务器,还是服务器集群,Benchmark Factory 都是一种成熟、可靠、高扩展性和易于使用的测试工具。

很多产品测试特别是 Web 服务程序都会使用的测试软件,主要用于测试Web页面性能及稳定性。

Benchmark Factory 通过记录和回放多用户测试中的事务处理过程,使IT 专业人员能够更加方便地完成这一任务。

Benchmark Factory 可实现横向 (Benchmark Factory的主用户界面,Visual Control Center,可支持数百个工作站运行其代理软件) 和纵向 (每个代理可以模拟数百或数千个用户)扩展。

Benchmark Factory 可以测试服务器集群的性能。硬件厂商以使用Benchmark Factory 及时实现故障恢复。类似地,软件厂商使用Benchmark Factory,可以优化其服务器软件,而最终用户可以利用Benchmark Factory确定其服务器集群的硬件需求。

benchmark分为两部分,一是benchmark控制台,一个是benchmark agent,在测试的过程中,在控制编辑测试脚本,分发给每个Agent,然后Agent向服 务器进行请求模拟客户端,完成脚本后将测试的结果会传给控制台,最终由控制台统计出总的结果,并完成测试报告。

[[i] 本帖最后由 阳光 于 2007-11-16 14:20 编辑 [/i]]

test110 发表于 2007-11-16 13:11

我看理论的不是很清楚哈~~我喜欢有点实际操作的~~学得快些~~

阳光 发表于 2007-11-16 13:14

[font=宋体][size=12pt]2.3.3
[/size][/font][font=宋体][size=12pt]针对应用的测试工具[/size][/font][color=black][font=宋体][size=10.5pt]随着web应用的增多,服务器应用解决方案中以Web为核心的应用也越来越多,很多公司各种应用的架构都以web应用为主。一般的web测试和以往的应用程序的测试的侧重点不完全相同,在基本功能已经通过测试后,就要进行重要的系统性能测试了。系统的性能是一个很大的概念,覆盖面非常广泛,对一个软件系统而言包括执行效率、资源占用率、稳定性、安全性、兼容性、可靠性等等,以下重点从负载压力方面来介绍服务器系统性能的测试。系统的负载和压力需要采用负载测试工具进行,虚拟一定数量的用户来测试系统的表现,看是否满足预期的设计指标要求。负载测试的目标是测试当负载逐渐增加时,系统组成部分的相应输出项,例如通过量、响应时间、CPU负载、内存使用等如何决定系统的性能,例如稳定性和响应等。[/size][/font][/color]
[color=black][font=宋体][size=10.5pt]使用压力测试工具对web服务器进行压力测试。测试可以帮助找到一些大型的问题,如死机、崩损、内存泄漏等,因为有些存在内存泄漏问题的程序,在运行一两次时可能不会出现问题,但是如果运行了成千上万次,内存泄漏得越来越多,就会导致系统崩滑。在以下内容中我们介绍几款针对应用的测试工具。[/size][/font][/color][b][font=宋体][size=12pt][/size][/font][/b]
[color=black][font=宋体]1)
[/font][/color][b][font=宋体][size=12pt]Avalanche[/size][/font][/b]
Avalanche[font=宋体]是[/font]Sprient[font=宋体]的一款[/font]4-7[font=宋体]层测试仪表,支持超强并发能力和新建能力。主要测试指标包括贷款测试、并发用户数、并发连接数、并发事物数、新建用户数、新建连接数、新建事物数等等。此款仪表通过协议仿真技术完成对客户端的仿真,以其超强并发和新建能力在可以在单台仪表的情况下模拟大量的客户端。但其应用的仿真真实性不如[/font]LoadRunner[font=宋体]。[/font]LR[font=宋体]的仿真更具有细粒度。但是[/font]Avalanche[font=宋体]在[/font]4-7[font=宋体]协议的配置粒度和并发的控制粒度[/font],[font=宋体]以及最终报告的分析能力都非常之强。[/font]
[font=宋体]以下是[/font]Avalanche[font=宋体]控制台界面和[/font]Load[font=宋体]配置界面:[/font]


[align=center][font=宋体]图:附录[/font]2-5[color=black][font=宋体]:[/font][/color][color=black][font=宋体][size=10.5pt]Avalanche[/size][/font][/color][color=black][font=宋体][size=10.5pt]控制台界面[/size][/font][/color][/align][align=center][font=宋体][attach]1313[/attach][/font][/align]
[color=black][font=宋体][size=10.5pt]报告分析界面:[/size][/font][/color]


[align=center][font=宋体]图:附录[/font]2-6[color=black][font=宋体]:[/font][/color][color=black][font=宋体][size=10.5pt]测试结果分析Analyzer[/size][/font][/color][/align][attach]1314[/attach]

[[i] 本帖最后由 阳光 于 2007-11-16 14:21 编辑 [/i]]

阳光 发表于 2007-11-16 13:17

[font=Arial]2.4
[/font][font=黑体]服务器选型测试案例分析[/font][font=宋体]服务器选型测试是服务器测试中一种测试,什么是选型测试呢?所谓的选型测试就是在企业、政府、公司等单位购买服务器的过程中对其选用的厂家的服务器进行综合测试,给出测试报告,作为购买服务器的一种依据。[/font]
[font=宋体]服务器的选型测试可以是购买方进行第一方测试,也可以是服务器购买方委托第三方评测机构进行评测,在国内像泰尔实验室、赛地等都是具有服务器评测能力的第三方评测机构。[/font]
[font=宋体]服务器的选型测试的在整个测试过程中应该是一个这样的流程(本过程依据第三方测试机构的测试过程管理流程进行介绍):接受委托(签署合同,依据测试委托程序进行)—由委托方提交被测对象相关材料以及用户需求等(依据项目委托程序进行)—制定项目计划(评审)(根据委托材料和需求由项目负责人制定项目计划,安排测试负责人和测试组成员,依据)—测试组负责人员接受项目,研究分析被测对象—设计开发测试方案[/font]([font=宋体]评审[/font])[font=宋体]—编写测试计划(评审)——准备测试数据和搭建测试环境—执行测试[/font]/[font=宋体]质量监督—编写测试报告——整理测试数据——数据归档——总结。在以下内容中我们从关键的几个过程对服务器选型测试进行介绍分析。[/font]
2.4.1
[font=宋体]被测对象研究和需求分析[/font][font=宋体]被测对象:所谓的被测对象就是我们测试的目标,在服务器选型测试中[/font] [font=宋体]被测对象就是有被选型的厂商提交的不同型号的服务器。[/font]
[font=宋体]用户需求:这里的用户需求是委托方的服务器选择需求,这里的委托方是购买服务器的单位,就是我们服务的对象。[/font]
[font=宋体]所谓的被测对象研究就是要研究我们测试的目标,在这个选型测试中我们要研究的就是服务器的相关技术,比如服务器的[/font]CPU[font=宋体]技术,内存技术,服务器与操作系统兼容情况,磁盘存储技术等等,孙子兵法芸:“知己知彼百战不殆”,我们只有对被测对象充分的研究才能设计出更精确的测试方法得到更准确的测试结果,这些技术的研究方法一般有以下几种:[/font]
1)
[font=宋体]收集材料[/font]
[font=宋体]我们可以通过互联网的搜索引擎,比如[/font]google baidu[font=宋体]都是不错的搜索引擎,通过这些搜索引擎查找相关被测对象的知识,做为我们熟悉被测对象的第一步,初步了解被测对象。[/font]
[font=宋体]另外还可以根据被测厂商提供的相关技术材料,进行对被测对象的理解。[/font]
2)
[font=宋体]与厂商交流[/font]
[font=宋体]测试之前和测试之间跟厂商的交流是必要的,跟厂商的交流也是我们研究了解被测对象的一个主要途径,通过跟开发厂商的交流可以更深入的理解被测对象的情况。[/font]
3)
[font=宋体]实验[/font]
[font=宋体]除了上述方法,一般我们在测试之前还要对被测对象进行一些实验来研究被测对象,比如像性能测试我们需要通过实验来研究被测对象的特性来找出最合适的参数等等。[/font]
[font=宋体]所谓的需求分析就是对用户的需求进行分析得出测试指标的过程,那么什么是测试指标呢,有人可能还不知道这个概念,测试指标就是在测试中要测试什么,他来源与用户需求或者国际标准、国家标准、行业标准等;分析测试需求就是找要出用户需求描述的文档中那些是需要我们测试的,一般情况下我们会根据用户的需求列出一个测试指标表,然后跟用户去讨论确认是否为测试指标。需求分析一般有以下几种方法:[color=red](查找需求分析方法)[/color][/font][color=red][/color]

[font=宋体]此次测试对象:[/font]A[font=宋体]、[/font]B[font=宋体]、[/font]C[font=宋体]三家服务器厂商的应用服务器和数据库服务器,共送测[/font]6[font=宋体]台样品;[/font]
[font=宋体]用户选型测试需求如下:[/font]
[size=10.5pt]1)
[/size][font=宋体][size=10.5pt]服务器的基本配置如下表所示:[/size][/font][size=10.5pt][/size]
[align=center][table][tr][td=1,1,72][align=center][align=center][font=宋体][size=10.5pt]设备[/size][/font][size=10.5pt][/size][/align][/align][/td][td=1,1,106][align=center][align=center][font=宋体][size=10.5pt]用途[/size][/font][size=10.5pt][/size][/align][/align][/td][td=1,1,345][align=center][align=center][font=宋体][size=10.5pt]配置[/size][/font][size=10.5pt][/size][/align][/align][/td][/tr][tr][td=1,1,72][font=宋体][size=10.5pt]服务器[/size][/font][size=10.5pt]1[/size]
[/td][td=1,1,106][font=宋体][size=10.5pt]应用服务器[/size][/font][size=10.5pt][/size]
[/td][td=1,1,345][size=10.5pt]CPU[/size][font=宋体][size=10.5pt]:[/size][/font][size=10.5pt]Xeon 2.6G * 2/512K cache[/size][font=宋体][size=10.5pt];[/size][/font][size=10.5pt]4GB ECC DDR Memory[/size][font=宋体][size=10.5pt];[/size][/font][size=10.5pt]2 * SCSI 73GB 10000rpm [/size][font=宋体][size=10.5pt]独立热插拔硬盘;外插百兆([/size][/font][size=10.5pt]RJ45[/size][font=宋体][size=10.5pt])[/size][/font][size=10.5pt]*2[/size][font=宋体][size=10.5pt];集成百兆([/size][/font][size=10.5pt]RJ45[/size][font=宋体][size=10.5pt])[/size][/font][size=10.5pt]*1[/size][font=宋体][size=10.5pt];标准光驱、软驱。[/size][/font][size=10.5pt][/size]
[/td][/tr][tr][td=1,1,72][font=宋体][size=10.5pt]服务器[/size][/font][size=10.5pt]2[/size]
[/td][td=1,1,106][font=宋体][size=10.5pt]数据库服务器[/size][/font][size=10.5pt][/size]
[/td][td=1,1,345][size=10.5pt]CPU[/size][font=宋体][size=10.5pt]:[/size][/font][size=10.5pt]Intel Xeon MP 2.0G*4/1M cache[/size][font=宋体][size=10.5pt];[/size][/font][size=10.5pt]8GB ECC DDR Memory[/size][font=宋体][size=10.5pt];[/size][/font][size=10.5pt]73G[/size][size=10.5pt]*5 [/size][font=宋体][size=10.5pt]热插拔[/size][/font][size=10.5pt]SCSI RAID[/size][font=宋体][size=10.5pt](支持[/size][/font][size=10.5pt]RAID 5[/size][font=宋体][size=10.5pt]);外插百兆([/size][/font][size=10.5pt]RJ45[/size][font=宋体][size=10.5pt])[/size][/font][size=10.5pt]*2[/size][font=宋体][size=10.5pt];集成百兆([/size][/font][size=10.5pt]RJ45[/size][font=宋体][size=10.5pt])[/size][/font][size=10.5pt]*1[/size][font=宋体][size=10.5pt];冗余电源;标准光驱、软驱。[/size][/font][size=10.5pt][/size]
[/td][/tr][/table][/align][size=10.5pt]2)
[/size][font=宋体][size=10.5pt]必须与选中的操作系统、数据库具有良好的配合性;[/size][/font][size=10.5pt][/size]
[size=10.5pt]3)
[/size][font=宋体][size=10.5pt]支持所选中的[/size][/font][size=10.5pt]HA[/size][font=宋体][size=10.5pt]软件;[/size][/font][size=10.5pt][/size]
[size=10.5pt]4)
[/size][font=宋体][size=10.5pt]稳定性和可靠性测试;[/size][/font][size=10.5pt][/size]
[size=10.5pt]5)
[/size][font=宋体][size=10.5pt]系统散热性能良好;[/size][/font][size=10.5pt][/size]
[size=10.5pt]6)
[/size][font=宋体][size=10.5pt]专用测试程序:运行速度、硬盘访问速度;[/size][/font][size=10.5pt][/size]
[size=10.5pt]7)
[/size][font=宋体][size=10.5pt]网卡在[/size][/font][size=10.5pt]512-1024[/size][font=宋体][size=10.5pt]字节的网络数据包、小于[/size][/font][size=10.5pt]10M[/size][font=宋体][size=10.5pt]的网络流量下的捕包性能、长时间连接的情况下,服务器收发数据的能力和连接保持能力;[/size][/font][size=10.5pt][/size]
[size=10.5pt]8)
[/size][font=宋体][size=10.5pt]连续运行程序[/size][/font][size=10.5pt]72[/size][font=宋体][size=10.5pt]小时以上服务器运行情况;[/size][/font][size=10.5pt][/size]
9)
[font=宋体][size=10.5pt]服务器异常当机、掉电情况下的重启能力。[/size][/font]
[size=14pt]2.4.2
[/size][font=宋体][size=14pt]测试指标[/size][/font][size=14pt][/size][font=宋体]说到测试指标,那么什么是测试指标呢,所谓的测试指标就是需要测试什么,测试指标来源于《用户需求》、《产品规格说明书》、或者此类产品的测试规范、标准等等;比如服务器的测试,可以参考[/font]2.2[font=宋体]评测指标中的内容进行评测,服务器评测的标准可以参考[/font]TPC[font=宋体]或者[/font]SPEC[font=宋体]等;[/font]
[font=宋体]测试指标应该注意以下几个方面:[/font]
1)
[font=宋体]可测性[/font]
[font=宋体]在分析需求后得到的测试指标要具有可测性;就是说我们列出的测试指标应该是可以测试的,在我们现有的条件下是可以进行测量的;[/font]
2)
[font=宋体]可量化,可衡量[/font]
3)
[font=宋体]语义明确不具有歧异[/font]
[font=宋体]在这个实例中我们的测试指标根据用户的选型需求进行分析得到以下指标:[/font]
1)
[font=宋体]系统配置符合需求中[/font]1[font=宋体])的要求;[/font]
2)
[font=宋体]异常情况处理:符合[/font]9[font=宋体])的要求;[/font]
3)
[font=宋体]兼容性要求符合:[/font]2[font=宋体])、[/font]3[font=宋体])的要求;[/font]
4)
[font=宋体]基准性能符合:[/font]6[font=宋体])的要求;[/font]
5)
[font=宋体]数据包捕包能力符合:[/font]7[font=宋体])的要求;[/font]
6)
[font=宋体]稳定性要求符合:[/font]4[font=宋体])、[/font]8[font=宋体])的要求。[/font]
2.4.3
[font=宋体]测试方案开发[/font][font=宋体]在明确了用户需求和分析出系统(或者被测设备)的测试指标后,下一步就要设计测试方案,测试方案是系统(或者设备)检测的一个重要依据之一,它用来指导后续的执行操作,作为系统或者设备评测的重要依据;测试方案,需要经过编写——评审——修改——评审的过程;评审的过程中要求开发方、需求方和测试方主要人员参加,严格对方案进行评审。[/font]

阳光 发表于 2007-11-16 13:19

[size=14pt]2.4.3.1
[/size][font=宋体][size=14pt]测试方案概述[/size][/font][size=14pt][/size][font=宋体]测试方案根据评测项目路程是在项目计划和被测对象研究完成后,有测试组成员一同开发的一个指导测试的文档,测试方案的内容一般分为以下几部分:[/font]
1)
[font=宋体]测试依据[/font]
[font=宋体]这一部分主要说明测试方案的开发依据的对象,一般是被测系统说明,系统需求、用户需求等;有的需要依据国标或者行标的,比如防火墙的性能评测需要依据《防火墙的国标》和相关的[/font]RFC[font=宋体]文档,[/font]RFC2544[font=宋体]和[/font]RFC3511[font=宋体]等,这些具体的信息,在后面防火墙性能评测部分会具体给出。[/font]
2)
[font=宋体]测试对象描述[/font]
[font=宋体]这一部分内容主要是对被测对象进行描述,一般情况下是描述被测对象的基本功能,和必要的应用环境等等;比如服务器评测的方案中应该对应用服务器和数据库服务器进行主要功能和性能的描述。[/font]
3)
[font=宋体]评测指标[/font]
[font=宋体]这一部分主要是依据[/font]2.4.2[font=宋体]中的测试指标进行填写,一般是一个测试指标列表,包括“序号”、“测试指标”、“对应测试用例”、“备注等”。[/font]
[font=宋体]注意这个测试指标一定是通过跟委托方确认过的测试指标,必要的时候需要拿到委托方的签字文件。[/font]
4)
[font=宋体]测试环境[/font]
[font=宋体]这一部分主要是设计评测的环境包括评测环境图和环境配置,测试环境图应该是被测对象实际应用环境的仿真环境图或者是标准的测试方法的环境图;一般根据测试的规模不同,可能会有一个或者多个评测环境;总的原则是必须满足测试方法需要的环境和用户实际应用的环境。[/font]
[font=宋体]环境配置,是标明测试环境中应用到的软硬件配置,为了保证测试结果的可重现性的一个方面,因为不同的配置测试结果有可能不同。[/font]
5)
[font=宋体]测试工具[/font]
[font=宋体]这一部分主要标明在测试过程中应用到的测试工具,不包括被测对象和必要的操作系统;不如软件性能测试工具:[/font]loadrunner 8.1.0.4[font=宋体]、测试仪表:[/font]SmartBits[font=宋体]等;但是不必要写明操作系统:[/font]Windows[font=宋体]等;[/font]
6)
[font=宋体]测试项[/font]
[font=宋体]这是方案的主要部分,在这一部分主要是针对被测对象依据需求和标准[/font]([font=宋体]根据不同的委托需求参考不同的标准[/font])[font=宋体];设计的测试用例,在后续的测试执行过程中应该严格的依据设计的并且通过评审的测试用例进行测试,一般这些内容是在评审过程中最被关注的内容;[/font]
[font=宋体]评测的测试用例一般包括以下几部分内容:[/font]
A.
[font=宋体]用例名称[/font]
[font=宋体]用例名称,就是给你设计的测试用例选择一个可以概况设计这个测试用例核心内容的一个名字;比如测试用户输入功能的测试用例的名称可以为:“用户输入测试”。[/font]
B.
[font=宋体]测试内容[/font]
[font=宋体]测试内容,就是说明设计这个测试用例需要测试什么,不如“用户输入测试”的测试内容可以是:“测试用户在输入不同的用户信息时系统的响应情况“等等;[/font]
C.
[font=宋体]测试条件[/font]
[font=宋体]测试条件就是完成这个测试用例必要的条件,比如测试吞吐量的时候需要在测试条件中定义包长、发送时间、测试次数、等[/font]
D.
[font=宋体]测试过程[/font]
[font=宋体]测试过程就是完成上述测试内容需要的步骤,测试过程需要简洁明了,尽量用短句,不要有奇异,设计目标,可以让用例开发人员以外的人员顺利执行。[/font]
E.
[font=宋体]预期结果[/font]
[font=宋体]通过上述执行可以得到的预期结果;也可以是系统正确的反应。[/font]
F.
[font=宋体]判定条件(可选)[/font]
[font=宋体]此项可选,就是在有的测试用例中可以不写,在最终测试报告中分析中对测试结果进行分析;所谓的判定结果就是对测试结果判断的依据和条件,可以判定测试结果符合,或者是不符合,或者是失效等。[/font]

2.4.3.2
[font=宋体]服务器测试方案[/font][b](一)
[/b][b][font=宋体]测试依据[/font][/b]
[font=宋体]本次服务器评测的依据为:《用户选型测试需求》;[/font]

[b](二)
[/b][b][font=宋体]测试对象描述[/font][/b]
[font=宋体]本次测试样品由服务器硬件设备和相关管理软件组成。主要应用于分为:数据库服务器和应用服务器。[/font]
[b](三)
[/b][b][font=宋体]评测指标[/font][/b]
1)
[font=宋体]系统配置符合需求中[/font]1[font=宋体])的要求;[/font]
2)
[font=宋体]异常情况处理:符合[/font]9[font=宋体])的要求;[/font]
3)
[font=宋体]兼容性要求符合:[/font]2[font=宋体])、[/font]3[font=宋体])的要求;[/font]
4)
[font=宋体]基准性能符合:[/font]6[font=宋体])的要求;[/font]
5)
[font=宋体]数据包捕包能力符合:[/font]7[font=宋体])的要求;[/font]
6)
[font=宋体]稳定性要求符合:[/font]4[font=宋体])、[/font]8[font=宋体])的要求。[/font]

[b](四)
[/b][b][font=宋体]测试环境[/font][/b]
[b][font=宋体]性能测试环境图[/font]1[/b]
[b][attach]1316[/attach]
[/b]
[b][font=宋体]性能测试环境图[/font]2[/b]
[attach]1317[/attach]
[b][font=宋体]性能测试环境图[/font]3[/b]
[attach]1318[/attach]
[font=宋体]以上三个性能测试环境图是根据不同的性能测试需求设计的性能测试环境图,性能测试环境图[/font]1[font=宋体]主要完成收发包性能的测试;性能测试环境图[/font]2[font=宋体]主要是完成捕包性能的测试;性能测试环境图[/font]3[font=宋体]主要完成服务器基准性能的测试。[/font]

[[i] 本帖最后由 阳光 于 2007-11-16 14:22 编辑 [/i]]

阳光 发表于 2007-11-16 13:20

测试环境配置

名称
IP地址
操作系统
软件/服务

服务器
192.168.4.1/24
Linux
  

负载发生器1
192.168.4.20
Windows 2000
Netbench、FileBench、ServerBench和BenchMark Factory等

……
  
  
负载发生器共24台

负载发生器24
192.168.4.43
Windows 2000
Netbench、FileBench、ServerBench和BenchMark Factory等

负载发生器管理器
192.168.4.100
Windows 2000
Netbench、FileBench、ServerBench和BenchMark Factory等的管理器

交换机
  
  
  




(五)  测试工具

1)        Chariot;

2)        SmartBits 6000B;

3)        性能和压力测试工具(Netbench、FileBench、ServerBench、BenchMark Factory、TCPDump和Tcpreplay等);

(六)  测试项

1)        功能测试——基本配置检查



2)       功能测试——增强配置



3)        性能测试——异常情况测试



4)        性能测试——收发包性能测试



5)        性能测试——捕包性能测试



6)        性能测试——稳定性和可靠性测试



7)        压力测试——数据库服务器性能基准测试



8)        压力测试——数据传输性能基准测试



9)        压力测试——文件系统性能基准测试



10)     压力测试——事务处理性能基准测试



(七)  附录A  服务器配置检查表

厂家
  

型号
  


厂家声称
实测结果

CPU
  
  

内存
  
  

缓存
  
  

硬盘
  
  

显示系统
  
  

标准光驱
  
  

软驱
  
  

键盘
  
  

鼠标
  
  

磁盘阵列
  
  

网卡
  


  

其他接口(标准串口并口,USB接口,鼠标键盘接口,显示器接口)
  
  

电源
  
  

扩展槽
  
  

机箱风扇
  
  

有无主板温度、CPU温度、风扇运行状态、硬盘工作状态等信息显示
  
  

机箱机构
  
  

操作系统支持
  
  




2.4.4   测试执行


2.4.5   测试报告
2.4.6   总结
3         第二章防火墙性能测试
3.1    测试标准
3.2    测试方法
3.3    测试工具
3.4    防火墙测试实例分析
4         第三章NIDS性能测试
5         第四章Web类性能测试
6         第五章音频识别系统性能测试
7         第六章封堵系统性能测试
8         第七章搜索引擎类性能测试
9         第八章信息检索类性能测试
10    第九章邮件服务类和FTP协议相关类性能测试
11    第十章流媒体性能测试

aken 发表于 2007-11-16 13:52

强烈支持!!!

cytest 发表于 2007-11-16 17:36

:lol 对于技术人员来说,愿意把自己的工作和感想总结出来,与大家分享,而且一写篇幅如此之长,真的是很不容易,支持。

阳光 发表于 2007-11-19 08:43

希望能够得到大家的支持,你们的支持就是我写作的动力

阳光 发表于 2007-11-19 10:36

2.4.4 测试执行

2.4.4        测试执行
测试执行的过程就是通过在测试环境中运行测试用例取证的过程,这个过程应该严格的按照通过评审的测试方案执行,其中需要生成的记录包括,测试记录、观察报告、异常现象说明等,在测试执行的过程中需要开发方,或者送测方的工程师或者技术支持的陪同或者支持。
测试记录
测试记录是测试过程中很重要的一个依据性文档,测试记录一般包括测试名称、条件、测试过程、测试结果等内容;记录测试结果应该客观、记录屏幕的数据和输入信息,初始测试结果数据等,不包括主观的判断数据等;测试记录需要注意如果修改应该用杠该法,而不是涂改,修改人员需要在修改处签名。
观察报告
观察报告是在测试过程中有测试人员填写的一个异常现象的文档,如果在测试过程中出现不可控的测试结果需要填写这个文档,比如被测对象出现严重的异常;这个报告需要分析,和由被测方的签字确认。
异常现象说明
异常现象说明,这种文档是在被测系统出现异常的情况下,有被测方出具的一种对于异常现象的合理解释的说明文档,次说明需要被测方的签名,测试人员需要对此文档进行验证分析,确认解释的合理性。

阳光 发表于 2007-11-19 11:12

测试报告

以下附件中是这次评测过程中的测试报告,给予大家一个参考!

masterkongddxz 发表于 2007-11-19 13:43

太好了,我现在对流媒体性能测试比较感兴趣,能不能快点写啊,谢谢

ax45 发表于 2007-11-21 13:42

测试新手  非常感谢  加油 :loveliness:

阳光 发表于 2007-11-22 16:22

这个东西要写一段时间呢

xuewei37 发表于 2007-11-23 13:20

好多内容,收藏起来慢慢看~

seanhe 发表于 2007-11-26 13:02

精华就是要时间磨练的:)

我们慢慢等:) :victory:

阳光 发表于 2007-11-26 17:59

呵呵,大家不急就行,我的新书出版了,关注虚拟化技术的可以买一本看看《计算机虚拟化技术与应用》机械工业出版社。

cytest 发表于 2007-11-28 12:09

阳光可以再出一本性能测试的书,这个文章等于就是你的初稿了。

skysunny 发表于 2007-11-29 11:36

我怎么看不了图片呀

阳光 发表于 2007-11-29 16:39

今天更新

2.4.6        总结
服务器性能测试这一部分就写完了,我想接下来去写防火墙的性能测试,在这里对上面写的内容总结一下:
1)        了解服务器评测的标准,这些标准是很重要的,他们是你评测的依据和方法的提供者,我在上面的内容中都有说明,测试之前一定要关注一下;
2)        掌握评测工具,评测工具是测试执行的利器,一般这种性能评测靠手工是无法完成的,所以必须有商业的工具或者开源或者自己开发的工具;如果你们没有自己的工具开发队伍,请关注服务器自动化测试工具;在篇文章中提到的一些工具都可以在网上免费下载,评测报告中的工具可以找作者索取试用,sunny-boy@vip,sina,com
3)        分析用户需求,这个也是很重要的,这部分要你明白测试什么的过程;
4)        开发合理的测试方案,不多说了,我在方案开发部分已经说的很多;
5)        执行,执行取证过程一定要客观公正;
6)        完整、可读的测试报告,编写一个完整的测试报告,让读者可以清楚的知道你评测的服务器的性能那个好,那个不好。要对数据进行统计和分析,这些是很重要的。

阳光 发表于 2007-11-29 16:40

第二章 防火墙性能测试

在接下来的日子里我将推出第二章的内容防火墙性能测试,希望大家关注

阳光 发表于 2007-12-6 09:00

今天更新一点

防火墙性能测试的部分写了一点,思路有点乱,但是我想还是更新上来吧!
准备这个月完成这部分,基本的材料都有了,大概的思路也有了,就等着下笔写了!
郁闷,安静的时间真少,这个浮躁的社会!!

阳光 发表于 2007-12-6 09:02

第二章 防火墙测试

防火墙的测试应该是我最早接触的测试工作,记得那个时候我还没有毕业,因为学校跟那个公司的合作关系,去做实习,经过简单的培训后就开始了工作,当时应该是一个不小的项目,也是一个选型测试,大概有60多家的防火墙和30多家的IDS还有20多家的扫描器;在防火墙的测试中主要还是功能测试,但是项目进行到后期,因为表现还算不错的原因接触到了性能测试部分,那个时候2002年,防火墙的性能测试主要还是Base line的测试,有少部分的tcp层的测试以及防攻击能力的测试。
  后来应为那个项目中我表现很好,就留在了那个公司,我们的公司是一个第三方的测评机构,从事测试和评估的项目;所以在后来的工作中又逐渐的接触到了很多关于防火墙已经其他方面的测试。防火墙的评测一般会有三个方面,功能、性能和安全性;其实防火墙发展已经比较成熟,测评技术也相对成熟;在国际和国内都有依据的标准,比如国标:《信息技术包过滤防火墙安全技术要求》、GB/T18020-1999和2006年新国标:GB20281-2006以及IETF的RFC的RFC2544/1242和RFC3511/2647都对防火墙的测试基本的要求,同是也有也有一些行标和测试规范等文档来规范防火墙的测试,在本章的内容中我们重点来讲解防火墙的性能测试,那么我们就一步一步的来学习防火墙的性能测试吧。

tiegan 发表于 2007-12-6 14:10

真的不错,期待你的更新,再次表示感谢!:victory:

阳光 发表于 2007-12-17 08:43

3.1 防火墙概述

互联网信息技术的发展,使得众多企业组织的内部网络开始连接到Internet上,这样企业在实现访问外部世界并与之通信的同时,外部世界也同样可以访问企业内部网络并与之交互。这时为了保证企业组织的信息安全,企业就必须对其重要信息进行保护。为了安全起见,企业开始在该网络和Internet之间插入一个中介系统,竖起一道安全屏障。这道屏障的作用是提供扼守本网络的安全和审计的唯一关卡,可阻断来自外部通过网络对本网络的威胁和入侵。它的作用与古时候的寓所防火砖墙有类似之处,因此这个屏障就叫做“防火墙”。
防火墙通常处于企业的内部局域网与Internet之间,可限制Internet用户对内部网络的访问以及管理内部用户访问外界的权限。换言之,防火墙可看成是一个被认为是安全和可信的内部网络和一个被认为是不那么安全和可信的外部网络(通常是Internet)之间提供封锁的工具。因此防火墙只适合于相对独立的网络,例如企业的内部的局域网络等。
防火墙是网络安全政策的有机组成部分,它通过控制和监测网络之间的信息交换和访问行为来实现对网络安全的有效管理。从总体上看,防火墙应具有以下五大基本功能:
● 过滤进、出网络的数据;
● 管理进、出网络的访问行为;
● 封堵某些禁止的业务;
● 记录通过防火墙的信息内容和活动;
● 对网络攻击进行检测和报警。
为实现以上功能,在防火墙产品的开发中,人们广泛应用网络拓扑技术、计算机操作系统技术、路由技术、加密技术、访问控制技术、安全审计技术等。
实现防火墙功能的技术包括两大类型:包过滤(PF)、应用级防火墙。目前在市场上流行的防火墙大多属于应用级防火墙。应用级防火墙能够检查进出的数据包,透视应用层协议,与既定的安全策略进行比较。该类型防火墙能够进行更加细化复杂的安全访问控制,并做精细的注册和稽核。根据是否允许两侧通信主机直接建立链路,又可以分为网关和代理两种。

阳光 发表于 2007-12-17 08:44

接下来一节是测试标准

下一节的内容在明天更新

阳光 发表于 2007-12-18 11:49

3.2 测试标准

3.2.1        Base line 测试标准-RFC2544
RFC2544一度被评为“网络测试的“圣经”,而IETF被称为“网络测试界的圣殿”;可见RFC2544在网络设备测试中的重要地位,同时与之配套的还有一套RFC1242是针对网络互联设备性能基准制定的一套术语;而RFC2544是针对网络设备性能测试的方法学;虽然不是直接针对防火墙,但是防火墙也是重要的网络设备之一,所以在防火墙性能测试中他也是不可少的依据标准之一。
RFC2544《网络互联设备基准测试方法》,这个标准给出了网络互联设备测试的一些方法,其中包括以下6个指标的测试方法:
1)        吞吐量(through put)
吞吐量在RFC1242中的定义是:不丢包情况下的最大速率;所以在吞吐量的测试过程中,要求DUT(被测设备)不能有丢包的情况。
注意吞吐量和吞吐率还是有区别的,吞吐量是特定包长下的最大不丢包速率,而吞吐率是在一定情况下数据包的转发比例。可以测试在混合流量下的吞吐率,但是不能测试在混合流量下的吞吐量。
2)        延迟(Latency)
存贮转发设备(store and forward devices)
延迟等于数据帧的最后一位到达设备的输入端口到数据帧的第一位到达设备的输出端口的时间间隔;
直接转发设备(bit forwarding devices)
延迟等于输入数据帧的一个位末端进入设备输入端口到数据帧的第一位到达设备的输出端口的时间间隔
以上概念出自RFC1242.
3)        丢包率(Frame loss rate)
丢包率:在一定负载情况下数据包丢失的比率;丢包率跟吞吐量成反比,一般情况下丢包率比较小的设备吞吐量就比较好,所以在后来的测试中丢包率测试的很少。
4)        背靠背(Back-to-back frames)
背靠背:已最小的帧间隔发送最多的数据包,不引起丢包的数据包量;测试DUT的数据缓存能力。
5)        系统恢复能力(System recovery)
被测对象(DUT)在超载情况下的回复速率;很少有人测试;
6)        重启(Reset)
被测对象(DUT)在软件重启情况下的恢复速度。
在RFC2544中定义了以上这些指标的测试方法,以及测试环境的配置情况;通过RFC2544可以对网络设备进行基准测试,是一个很不错的标准文档。
3.2.2        RFC3511防火墙性能基准测试方法
这个标准是防火墙性能基准测试的方法标准,与之相关的是RFC2647防火墙性能基准测试术语,这个标准是针对防火墙性能的测试方法学,从二到七层全面的对防火墙性能进行了评价;其中包括以下评测指标:
1)        IP吞吐量(IP Throughput)
2)        并发链接数(Concurrent TCP Connection Capacity)
3)        最大链接建立速率(Maximum TCP Connection Establishment Rate)
4)        最大拆链速率(Maximum TCP Connection Tear Down Rate)
5)        DOS攻击处理(Denial Of Service Handling)
6)        HTTP传输速率(HTTP Transfer Rate)
7)        最大HTTP事务处理速率(Maximum HTTP Transaction Rate)
8)        违法传输处理速率(Illegal Traffic Handling)
9)        IP碎片处理能力(IP Fragmentation Handling)
10)        响应时间(Latency)
在这个标准中定义了以上这些指标的测试方法和防火墙的配置情况,现在的防火墙测试一般参考这个标准。
3.2.3        国家标准
防火墙测试可以参考的国家标准有1999年公布的GB/T 18020-1999 应用级防火墙安全技术要求和GB/T 18019-1999包过滤级防火墙国家标准;这两个标准将防火墙分别划分为应用级别和包过滤级别对防火墙进行要求,并且没有防火墙的评测方法;在2006年针对防火墙有发布了GB/T20281-2006《信息安全技术防火墙技术要求和测试评价方法》,这个标准根据GB/T17859《计算机信息系统安全保护等级划分准则》将防火墙胡分为三级,非别进行技术和测评要求,这个国家标准在对防火墙性能进行以下四项要求(此标准中只对三级产品进行了性能要求)
1)        吞吐量
2)        延迟
3)        最大并发链接数
4)        最大链接速率
并且对这些指标进行了量化的要求,定义的比较详细;这个标准具有测试方法知道,对测试很有帮助。
3.2.4        行业标准
关于防火墙的行业标准,通信行业有一个防火墙的测试标准,是由TC8-网络与信息安全委员会推出的一个标准《防火墙测试规范》,在这个规范中对防火墙性能要求给出了7个指标:
1)        最大位转发率
2)        最大包转发率
3)        延迟
4)        并发链接数
5)        每秒链接数
6)        最大规则数
7)        平均故障间隔时间
这个标准是一个行业标准,也是我们对于防火墙测试的一个依据,所以大家可以研读一下,在接下来的内容中我们将针对这些指标给出测试方法;

aken 发表于 2007-12-18 16:45

继续学习“防火墙测试”。呵呵

cytest 发表于 2007-12-18 17:43

写一篇文章容易,难得的是写连载.阳光这么忙还能及时更新,佩服.

mtang008 发表于 2007-12-19 15:54

[quote]原帖由 [i]cytest[/i] 于 2007-12-18 17:43 发表 [url=http://bbs.testage.net/redirect.php?goto=findpost&pid=53748&ptid=10218][img]http://bbs.testage.net/images/common/back.gif[/img][/url]
写一篇文章容易,难得的是写连载.阳光这么忙还能及时更新,佩服. [/quote]
同意··期待中……

阳光 发表于 2007-12-19 17:42

谢谢大家的支持,你们的支持,就是我写作的动力!

阳光 发表于 2007-12-19 17:44

最近有时间,更新防火墙测试方法

最近真的很忙,并且被领导说,好像还有点感冒了,比较郁闷,及其不爽!
最近测试一个DTP系统,全是手工测试,并且是一个外包项目,再次不爽!!

阳光 发表于 2008-1-3 09:08

好久没有写这个帖子了!

还没有准备更新的计划,不过尽量抽时间搞一下

阳光 发表于 2008-1-3 14:56

回复

回复一下

周舟 发表于 2008-1-3 17:22

支持,回复一下,我也做性能测试,不过从去年开始才专注地做这块。回来仔细拜读。

daneil2007 发表于 2008-1-7 15:02

难得楼主如此坚持 令人敬佩 强烈支持

阳光 发表于 2008-1-7 18:11

谢谢,大家的关注,马上更新

谢谢,大家的关注,马上更新

rting 发表于 2008-1-15 11:04

期待-----你的邮件服务类测试。

阳光 发表于 2008-1-18 11:59

喜讯,我的朋友说他周五可以给我写出防火墙的部分

昨天我跟他聊这个帖子,他说材料都有了,周五(今天)可以帮我写,不知道写的怎么样了!好像比我的写的还专业,不太容易懂,呵呵,大家可以讨论

阳光 发表于 2008-1-28 12:50

预计明天更新

我朋友写的那部分,已经写完,因为昨天没有带U盘,放在家里的电脑上了,所以今天拷贝回来,明天准备更新这个帖子

CathyGuo 发表于 2008-1-28 16:47

期待有关流媒体部分的测试,楼主好本领哦,测试工作+出书+还要这么多经历在这里写帖子,神人也。

阳光 发表于 2008-1-29 13:43

3.3测试方法

[b]3.3.13.3.1        2~3层测试方法[/b]
[b]3.3.1.1        测试配置[/b]

阳光 发表于 2008-1-29 13:44

3.3.1.2 吞吐量测试

[b]测试目的[/b]
该测试实现端口吞吐量测试,它可以得到防火墙在无丢包的情况下,固定长度数据包的端口最大转发速率(bps或pps)。
[b]测试描述[/b]
二元搜索法:
通过测试仪的一个端口模拟Clients发送数据包,经防火墙到达模拟Servers的端口。如果发生数据包丢失,则降低测试仪给出的额定负载并重新测试。如果无发生数据包丢失,则提高测试仪给出的额定负载并重新测试。这种“二元搜索法”,一直到找出没有数据包丢失的最大数据包转发速率。
步进搜索方法:
通过测试仪的一个端口模拟Clients以一个初始的额定负载发送数据包,经防火墙到达模拟Servers的端口。完成初始负载测试后加大负载重新测试,直到找到丢包与不丢包的边界,不丢包的负载即为吞吐量的值。但是如果每次加大的负载的“步进值”过大,测得结果与真实值的偏差越大。
最好的方法是才有步进与二元混合的方法进行测试,如此方法可以保证测试时间少并且测试结果准确。
[b]测试条件[/b]
数据包长度:IP数据包长度采用: 64、128、256、512、1024、1280和1518。
吞吐量步进值:比较大的步进值会加快测试的速率,但是步进值要求小于等于最大传输速率的10%。
测试时间:根据RFC2544的规定,最短测试时间为60秒。
        最大接收数据包丢失:规定允许的数据包的丢失情况。(严格测试不允许丢包)
[b]测试流程[/b]
1)        在测试仪表上,构造单向的数据流的流量配置,从源点到目的发送业务流;
2)        设置接口所有的初始、最大速率额定负载和步进值;
3)        从源端口向目的端口发送固定长度的数据包;
4)        如果发生数据包丢失,则降低测试仪给出的额定负载并重新测试。如果无发生数据包丢失,则提高测试仪给出的额定负载并重新测试。这种“二元搜索法”,一直到找出没有数据包丢失的最大数据包转发速率;
5)        经过反复测试后,及可以测试出接收的数据包和接收速率。
[b]测试工具[/b]
吞吐量测试指标是IETF组织在RFC2544中规定的网络设备的基准测试指标之一,根据RFC2544的技术要求,安捷伦公司测试仪表router tester 900,Spirent公司测试仪表SmartBits的SmartApplicatins和SmartFlow,IXIA公司测试仪表IXIA的ScriptMate都具有测试吞吐量的能力。

阳光 发表于 2008-1-29 13:46

3.3.1.3 时延和时延分布

**** Hidden Message *****

阳光 发表于 2008-1-29 13:47

3.3.1.4 数据包丢失率

**** Hidden Message *****

阳光 发表于 2008-1-29 13:49

3.3.1.5 背对背缓冲能力

**** Hidden Message *****

阳光 发表于 2008-1-29 13:51

以上这些内容是我的朋友帮我写的

防火墙测试方法部分由我的朋友建光进行编写,他对防火墙的性能测试颇有研究,所以写的东西比我专业,可行性要好点,欢迎大家对我们的文章指正拍砖!!

阳光 发表于 2008-1-29 13:51

后续的内容会及时更新

后面还有几个章节,楼主会继续更新的,希望大家关注

阳光 发表于 2008-1-29 15:59

:victory:

WAP 发表于 2008-1-29 16:48

看看最新的更新!:victory:

qingge 发表于 2008-1-29 17:19

学习一下

学习一下,先顶顶

阳光 发表于 2008-1-30 10:38

大家支持就好

大家支持就好

daneil2007 发表于 2008-1-30 13:14

终于等到上映了 迫不及待啊

jesondan 发表于 2008-2-3 13:54

写得真好,看来是专家

hushlight 发表于 2008-2-3 17:58

期待楼主写完后,可以总结一份置顶

阳光 发表于 2008-2-4 20:36

新年快到了,祝关注我的朋友新年快乐

在新的一年里,祝关注我的朋友新年快乐,也希望大家继续关注我,关注测试时代!

skillman 发表于 2008-2-13 19:45

过完年了,大家新年快乐,支持楼主更新!

5566778899 发表于 2008-2-17 14:44

学习

希望你的阳光普照我们这些测试菜鸟,我们会茁壮成长地[zdy]face17

阳光 发表于 2008-2-19 12:15

3.3.2.2        最大TCP连接建立速率
测试目的
测试在被测设备能够成功建立所有请求连接的条件下,防火墙在单位时间内所能建立的最大TCP连接数。
测试描述
通过测试仪的两个端口仿真Clients和Servers建立TCP连接经过防火墙传输。如果在初始设定的速率下不能完全建立起所有的TCP测试,降低TCP建立速率重新进行测试;如果在初始设定的速率下能完全建立起所有的TCP连接,加大TCP建立速率重新进行测试。通过循环搜索方法确定最大连接速率。
测试条件
        TCP连接总数:N
        老化时间:0
        持续时间:大于等于30秒
        HTTP版本: 1.1
        请求文件大小:1 bytes
测试流程
1)        配置测试仪的客户端向测试仪的服务端发送TCP请求数据流;
2)        设置需要建立的TCP连接总数;
3)        设置TCP连接维持的时间、连接的确认方式、连接请求文件的大小;
4)        设置接口以指定初始速率持续发送TCP请求数据流;
5)        如果以该速率成功建立设定的TCP连接数量,增加TCP请求建立速率对TCP连接建立;
6)        使用循环搜索方法确定DUT可以接受的TCP连接请求的最大速率;
7)        测得最大连接建立速率。
测试工具
   Avalanche、Reflector;SmartBits(WebSuite)。

阳光 发表于 2008-2-19 12:16

过年胡来了接着更新

我的这个帖子要写很长时间,终于有了新的更新,继续更新中

阳光 发表于 2008-2-19 12:16

3.3.2.3TCP最大并发连接数

测试目的
        测试穿过被测设备的主机之间或主机与被测设备之间能够同时维持的最大TCP连接总数。
测试描述
通过测试仪的两个端口仿真Clients和Servers建立TCP连接经过防火墙传输。首先以额定的速率对连接数初始值进行建立并且保持,如果无法建立保持降低建立TCP连接数,如果对初始的TCP连接数完全连接保持,加大建立连接数数量重新按而定速率建立。通过循环搜索方法确定最TCP大连接数量。
测试条件
        连接请求速率:(小于等于连接速率)
        期望连接数:
        初始连接数
        老化时间:建立到TCP连接总数所用时间+持续时间
        持续时间:大于等于30秒
        HTTP版本: 1.1
        请求文件大小:33kbytes       
测试流程
1)        配置测试仪的客户端向测试仪的服务端发送TCP请求数据流;
2)        设置TCP连接尝试速率、连接维持的时间、连接的确认方式、连接请求文件的大小;
3)        设置接口以指定速率持续发送TCP请求数据流;
4)        以该速率成功建立初始连接数,增加连接数量以该速率建了;
5)        使用循环搜索方法确定DUT可以接受的TCP连接请求的最大数量。
测试工具
   Avalanche、Reflector;SmartBits(WebSuite)。

阳光 发表于 2008-2-19 12:17

3.3.2.4最大TCP连接释放速率

测试目的
测试在被测设备能够成功释放所有现有TCP连接的所能承受的最大速度。
测试描述
通过测试仪的两个端口仿真Clients和Servers建立TCP连接经过防火墙传输。首先建立好一定数量的TCP连接,发送Rest报文以一定速率拆除连接,如果连接数不能在规定时间内拆除所有的TCP连接降低拆除速率重新测试,如果能在规定时间内完成所有TCP连接数的拆除加大TCP连接拆除速率重新测试。通过改种方法测出最大TCP连接释放速率。
测试条件
        TCP连接数量:
        老化时间:
        HTTP版本: 1.1
        请求文件大小:1bytes       
测试方法
1)        配置测试仪的客户端向测试仪的服务端发送TCP连接释放数据流;
2)        设置需要拆除的TCP连接总数并在DUT上建立;
3)        设置TCP连接维持的时间、连接的拆除方式;
4)        设置接口以指定初始速率持续发送TCP连接释放数据流;
5)        使用循环搜索方法确定DUT可以接受的TCP连接释放的最大速率;
6)        测得最大连接释放速率。
测试工具
   Avalanche、Reflector;SmartBits(WebSuite)。

风云 发表于 2008-2-19 12:28

阳光连载编写的"性能测试"不错,但是大家不要将自己置于一个看客的位置,大家应该一起帮他修改和完善。

阳光 发表于 2008-2-19 12:50

3.3.2.5最大HTTP事务处理速率

测试目的
        测试在被测设备能够成功建立所有请求连接的条件下,所能承受的最大HTTP事务处理速率。
测试描述
通过测试仪的两个端口仿真Clients和Servers建立连接进行HTTP事务处理经过防火墙传输。如果在初始设定的速率下不能完成设定的HTTP事务处理数,降低HTTP事务处理速率重新进行测试;如果在初始设定的速率下能完成设定的HTTP事务处理数,加大HTTP事务处理速率重新进行测试。通过循环搜索方法确定最大HTTP事务处理速率。
注:在防火墙配置应用层过滤规则下测试该项有意义。
测试条件
        每个连接最大请求数:最大(64)
        持续时间:大于等于30秒
        HTTP版本: 1.1
        请求文件大小:1 bytes       
测试方法
1)        配置测试仪的客户端向测试仪的服务端请求单向单播HTTP数据流;
2)        设置TCP连接关闭方法、连接关闭方向;
3)        设置session的类型、每个连接最大请求数、连接请求文件的大小;
4)        设置每个连接上发送多个HTTP请求,且请求的对象相同;
5)        设置接口以指定初始速率持续发送HTTP请求数据流;
6)        使用循环搜索方法确定单位时间内DUT可以接受的TCP连接请求的最大数量;
7)        测试得到最大事务处理速率、事务处理时间。
测试工具
   Avalanche、Reflector;SmartBits(WebSuite)。

阳光 发表于 2008-2-19 12:51

3.3.2.6HTTP传输速率

测试目的
        测试HTTP请求的对象在穿越被测设备时,被测设备所能承受的最大传输速率。
测试描述
通过测试仪的两个端口仿真Clients和Servers建立连接进行HTTP事务处理经过防火墙传输。Clients通过仿真HTTP Get请求从Servers下载页面、仿真Http POST向Servers上传文件等方法传输数据。首先设定一个初始的速率对额定的事务处理,如果不能完成额定的事务处理测试,降低事务处理速率,可以完成加大事务处理速率继续测试。通过该方法测得HTTP传输速率。
计算的方法:

                                     OBJECTS * OBJECTSIZE * 8
   方法1:TRANSFER RATE (bit/s) =  ---------------------------------------
                                            DURATION
方法2:goodPut:数据传输报文的数据部分,不包括其它协议头信息。还不包括请求、断开、维持连接等报文。
        注:在防火墙配置应用层过滤规则下测试该项有意义。
测试条件
        TCP连接数量:小于等于最大连接数
        持续时间:大于等于30秒
        HTTP版本:1.1
        每个连接最大请求数:大于 最大事务速率/TCP连接数量
        请求文件大小:2、10 M bytes  512k       
测试流程
1)        配置测试仪的客户端向测试仪的服务端请求单向单播HTTP数据流;
2)        设置TCP连接数量、连接关闭方法、连接关闭方向;
3)        设置session的类型、每个连接最大请求数、连接请求文件的大小;
4)        设置每个连接上发送多个HTTP请求,且请求的对象相同;
5)        设置接口以指定初始速率持续发送HTTP请求数据流;
6)        使用循环搜索方法确定DUT可以接受的HTTP传输速率。
测试工具
   Avalanche、Reflector。

阳光 发表于 2008-2-19 12:53

3.3.2.7应用层延时

测试目的
        测试防火墙应用层通信事务处理所用时间。
测试描述
通过测试仪的两个端口仿真Clients和Servers建立连接以不同速率传输HTP事务通过防火墙。通过一定时间内不断的事务请求到事务结束所用时间计算事务处理相应所需要时间。
注:在防火墙配置应用层过滤规则下测试该项有意义。
测试条件
        GET请求速率:N
        持续时间:大于等于30秒
        HTTP版本: 1.1
        请求文件大小:64bytes       
测试流程
1)        配置测试仪的客户端向测试仪的服务端发送TCP请求数据流;
2)        设置需要建立的HTTP连接总数;
3)        设置TCP连接维持的时间、连接的确认方式、连接请求文件的大小;
4)        设置接口以指定速率持续发送HTTP请求数据流;
5)        以该速率成功建立设定的HTTP连接数量,保持该建立的HTTP连接进行数据传输;
6)        使用循环搜索方法确定DUT的HTTP请求相应时间。
测试工具
Avalanche、Reflector

阳光 发表于 2008-2-19 12:57

后续的更新,我及时的做

后续的更新可能会快一点了

maczhou 发表于 2008-2-21 23:52

支持

收藏一下,谢谢楼主!!!

阳光 发表于 2008-2-22 13:24

不客气

我们都是为了测试技术而努力

风云 发表于 2008-2-22 16:18

写的不错,努力呀

阳光 发表于 2008-2-26 12:28

3.4防火墙测试实例分析

在前面给大家介绍了防火墙的技术原理、技术发展趋势、相关的标准和基准测试方法等。下面通过实例给大家介绍如何对一台防火墙进行测试。
  此部分描述了如何利用Spirent的Avalanche/Reflector或者SmartBits平台进行基本的防火墙测试。你可以在防火墙测试中加入更多的参数选项以提高测试仿真现实网络的能力,此外,还可以在测试中包含进其他的设备。这些测试能力使你的测试更加贴近产品网络从而减少了产品部署的风险。
以下的测试描述包括:
◆“Firewall Basic”-测试结构的工作特性限制。
◆“Firewall Stress”-衡量防火墙的极限工作能力。
◆“Firewall Load”-衡量在一定的负载下防火墙如何更好的维持可用性。
3.4.1         “Firewall Basic”-建立一个可参考的基线测试
3.4.1.1        目标
在你衡量一个防火墙前,必须先知道测试结构的操作限制。基本防火墙测试结构是由可管理交换机连接的背对背Avalanche/Reflecor设备所构成的。交换机必须是可管理的;我们高度建议在加入防火墙到测试结构前,应尽可能地简化网络连接。
一旦你确定了测试设备的工作限制,在Avalanche/Reflector之间“插入”防火墙,这样一来,可以排除测试设备所引起的问题。万一测试失败,我们就可以假设是由防火墙引起的测试失败。
3.4.1.2        要求
1)        Avalanche和Reflector(或者是SmartBit/WebAvalanche卡);
2)        可管理的2/3层交换机(交换机吞吐量应该比防火墙的吞吐量大得多);
3)        控制接口-有以太网端口的任何PC并且具有具有浏览器、JVM和Adobe acrobat软件。
3.4.1.3        需要设定的工作参数
1)        使用HTTP 1.0和FTP的每秒建立连接数(CPS)
2)        最大并发连接数(HTTP和FTP)
3.4.1.4         运行“基本防火墙测试”
1)        如图A所示连接Avalanche、Reflector、管理控制端口和3层交换机。
2)        确定所有设备有正确的IP地址
  ◆Avalanche管理地址:192.168.42.2(默认)
  ◆Reflector管理地址:192.168.42.3(默认)
  ◆管理控制地址:192.168.42.5(这这次测试的特定地址)
3)        复制Reflector上的“Echo”到一个新的测试中,称为“FW Basic Reflector”

wywyvonne 发表于 2008-2-26 14:56

太有用了,ganxie'a

POWERS 发表于 2008-3-6 10:16

真不错

真不错,期望继续

liuhao_nenu 发表于 2008-3-7 10:59

刚好最近公司让我测试,学习学习~~

generalzzy 发表于 2008-3-13 15:12

学习中学习中学习中学习中

jijieyu 发表于 2008-3-13 16:17

太棒啦!不知道该说什么,只能说谢谢啦!

太棒啦!不知道该说什么,只能说谢谢啦!

yaojichang 发表于 2008-3-13 17:17

不错!
已收藏!
大家一起努力吧!
加油!

echopeng 发表于 2008-3-17 00:39

学习中

Lz太强了,拜读ing

pdbj 发表于 2008-3-19 10:57

不错

很长知识,要弄明白怎么会回事要很长时间

阳光 发表于 2008-3-24 10:18

恐怕要很久才能更新

现在已经不太有时间写这个东西了,我想我会继续下去,等忙过了这段我会继续更新的,我不想我写的东西半途而废

RainManFWD 发表于 2008-3-27 13:26

谢谢!!!!!!!!!!!

lascaux 发表于 2008-3-27 16:34

写的很不错啊

楼主是个有心人,总结自己的经验跟大家分享。

能否先简单回答我的一个问题,了解上网行为管理产品吗?如何对这类产品做性能测试?

谢谢

阳光 发表于 2008-3-28 10:16

你这么一说,我也不能很好的了解你的需求

如果需要可以详细聊聊
QQ:29949260

saowen675 发表于 2008-4-1 14:06

太专业了,好好拜读。

orchid010 发表于 2008-4-2 16:05

:victory:  :victory:

tianxiadier 发表于 2008-4-2 17:51

强烈支持楼主!!好文章!

tellyooo 发表于 2008-4-11 13:58

版主,啥时出关于性能的书吗???我要买

版主,啥时出关于性能的书吗???我要买

bapidama 发表于 2008-4-11 14:28

楼主太强了!收藏中!

楼主太强了!收藏中!

阳光 发表于 2008-4-11 17:46

谢谢支持

最近忙的跟三孙子一样,都没有时间做这些事情了

cqing2005 发表于 2008-4-14 11:23

:victory: :victory: :)

阳光 发表于 2008-4-14 15:01

下一章IDS性能测试,在准备阶段了

先把现有的资料整理一下,最近准备去写这一部分

zhizhuo2008 发表于 2008-4-16 12:31

顶顶

阳光 发表于 2008-4-18 15:57

第三章IDS性能测试

[font=verdana,][size=14px]3.1IDS介绍
3.1.1什么是IDS
[url=http://www.cbinews.com/inc/search.jsp?search=IDS&searchType=keyWord][color=blue]IDS[/color][/url]是英文“Intrusion Detection Systems”的缩写,中文意思是“入侵检测系统”。专业上讲就是依照一定的安全策略,对网络、系统的运行状况进行监视,尽可能发现各种攻击企图、攻击行为或者攻击结果,以保证网络系统资源的机密性、完整性和可用性。
    我们做一个形象的比喻:假如[url=http://www.cbinews.com/inc/search.jsp?search=%E9%98%B2%E7%81%AB%E5%A2%99&searchType=keyWord][color=blue]防火墙[/color][/url]是一幢大楼的门锁,那么IDS就是这幢大楼里的监视系统。一旦小偷爬窗进入大楼,或内部人员有越界行为,只有实时监视系统才能发现情况并发出警告。
  在本质上,入侵检测系统是一个典型的"窥探设备"。它不跨接多个物理网段(通常只有一个监听端口),无须转发任何流量,而只需要在网络上被动的、无声息的收集它所关心的报文即可。对收集来的报文,入侵检测系统提取相应的流量统计特征值,并利用内置的入侵知识库,与这些流量特征进行智能分析比较匹配。根据预设的阀值,匹配耦合度较高的报文流量将被认为是进攻,入侵检测系统将根据相应的配置进行报警或进行有限度的反击。入侵检测系统的原理模型如图所示。 [table][tr][td=1,1,360]        [img]http://ad.cbinews.com/phpadsnew/adlog.php?bannerid=683&clientid=339&zoneid=251&source=&block=0&capping=0&cb=4677b213b4d21916e7e6b739db56118e[/img]
[/td][/tr][/table]       

     [img]http://www.cbinews.com/uploadimage/2005-12/upload_20051213_090644.jpg[/img]

    入侵检测系统的工作流程大致分为以下几个步骤:
    [b](1)信息收集[/b] 入侵检测的第一步是信息收集,内容包括网络流量的内容、用户连接活动的状态和行为。
    [b](2)信号分析[/b] 对上述收集到的信息,一般通过三种技术手段进行分析:模式匹配,统计分析和完整性分析。其中前两种方法用于实时的入侵检测,而完整性分析则用于事后分析。
    具体的技术形式如下所述:

    [color=blue]模式匹配 [/color]
  模式匹配就是将收集到的信息与已知的网络入侵和系统误用模式数据库进行比较,从而发现违背安全策略的行为。该过程可以很简单(如通过字符串匹配以寻找一个简单的条目或指令),也可以很复杂(如利用正规的数学表达式来表示安全状态的变化)。一般来讲,一种进攻模式可以用一个过程(如执行一条指令)或一个输出(如获得权限)来表示。该方法的一大优点是只需收集相关的数据集合,显著减少系统负担,且技术已相当成熟。它与病毒防火墙采用的方法一样,检测准确率和效率都相当高。但是,该方法存在的弱点是需要不断的升级以对付不断出现的黑客攻击手法,不能检测到从未出现过的黑客攻击手段。

    [color=blue]统计分析[/color]
  分析方法首先给信息对象(如用户、连接、文件、目录和设备等)创建一个统计描述,统计正常使用时的一些测量属性(如访问次数、操作失败次数和延时等)。测量属性的平均值将被用来与网络、系统的行为进行比较,任何观察值在正常偏差之外时,就认为有入侵发生。例如,统计分析可能标识一个不正常行为,因为它发现一个在晚八点至早六点不登录的帐户却在凌晨两点试图登录。其优点是可检测到未知的入侵和更为复杂的入侵,缺点是误报、漏报率高,且不适应用户正常行为的突然改变。具体的统计分析方法如基于专家系统的、基于模型推理的和基于神经网络的分析方法,目前正处于研究热点和迅速发展之中。

    [color=blue]完整性分析[/color]
  完整性分析主要关注某个文件或对象是否被更改,包括文件和目录的内容及属性,它在发现被更改的、被特络伊化的应用程序方面特别有效。完整性分析利用强有力的加密机制,称为消息摘要函数(例如MD5),能识别及其微小的变化。其优点是不管模式匹配方法和统计分析方法能否发现入侵,只要是成功的攻击导致了文件或其它对象的任何改变,它都能够发现。缺点是一般以批处理方式实现,不用于实时响应。这种方式主要应用于基于主机的入侵检测系统(HIDS)。

    [b](3)实时记录、报警或有限度反击[/b]
    IDS根本的任务是要对入侵行为做出适当的反应,这些反应包括详细日志记录、实时报警和有限度的反击攻击源。
   
    经典的入侵检测系统的部署方式如图所示:
   
    [img]http://www.cbinews.com/uploadimage/2005-12/upload_20051213_090842.jpg[/img]                                [/size][/font]

阳光 发表于 2008-4-18 15:59

3.1.2IPS介绍

[font=Verdana][b]IPS[/b](Intrusion Prevention System  入侵防御系统)对于初始者来说,IPS位于防火墙和网络的设备之间。这样,如果检测到攻击,IPS会在这种攻击扩散到网络的其它地方之前阻止这个恶意的通信。[b]IDS[/b]只是存在于你的网络之外起到报警的作用,而不是在你的网络前面起到防御的作用。[font=Verdana][url=http://www.cnw.com.cn/zhuanti/20071119_ips/]更多内容见CNW安全知识库......[/url][/font][/font]
[font=Verdana]目前有很多种IPS[b]系统[/b],它们使用的技术都不相同。但是,一般来说,IPS系统都依靠对[b]数据包[/b]的检测。IPS将检查入网的数据包,确定这种数据包的真正用途,然后决定是否允许这种数据包进入你的网络。[/font]
[font=Verdana]IPS的关键技术成份包括所合并的全球和本地主机访问控制、IDS、全球和本地安全策略、风险管理软件和支持全球访问并用于管理 IPS 的控制台。如同IDS 中一样,IPS中也需要降低假阳性或假阴性,它通常使用更为先进的侵入检测技术,如试探式扫描、内容检查、状态和行为分析,同时还结合常规的侵入检测技术如基于签名的检测和异常检测。 [/font]
[font=Verdana]同侵入检测系统(IDS)一样,IPS 系统分为基于主机和网络两种类型。 [/font]
[font=Verdana][b]基于主机的 IPS[/b] [/font]
[font=Verdana]基于主机的 IPS依靠在被保护的系统中所直接安装的代理。它与操作系统内核和服务紧密地捆绑在一起,监视并截取对内核或 API的系统调用,以便达到阻止并记录攻击的作用。它也可以监视数据流和特定应用的环境(如网页服务器的文件位置和注册条目),以便能够保护该应用程序使之能够避免那些还不存在签名的、普通的攻击。 [/font]
[font=Verdana][b]基于网络的 IPS[/b] [/font]
[font=Verdana]基于网络的 IPS 综合了标准 IDS 的功能,IDS 是 IPS与防火墙的混合体,并可被称为嵌入式 IDS 或网关 IDS(GIDS)。基于网络的 IPS 设备只能阻止通过该设备的恶意信息流。为了提高IPS设备的使用效率,必须采用强迫信息流通过该设备的方式。更为具体的来说,受保护的信息流必须代表着向联网计算机系统或从中发出的数据,且在其中: [/font]
[font=Verdana]指定的网络领域中,需要高度的安全和保护。[/font]
[font=Verdana]该网络领域中存在极可能发生的内部爆发[/font][font=Verdana]配置地址[/font]
[font=Verdana]能够有效地将网络划分成最小的保护区域,并能够提供最大范围的有效覆盖率。[/font]

hydragaze 发表于 2008-5-10 08:14

好文,mark之~

LZ大大你好,最近在做某文件系统软件的测试,领导要求我写iometer的文档,网上顺着一路搜索来到这里,写的很好,非常受用,期待更多精华~

再次感谢~

页: [1] 2

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.