RFC2544性能测试介绍

RFC2544性能测试介绍
RFC2544性能测试介绍

第一章 Latency原理分析

1.1 Latency定义

RFC1242中对Latency定义如下:

对于存储转发设备来说:当输入帧的最后一位到达输入端口时,时间间隔开始计算。当输出帧的第一位在输出端口上可见时,时间间隔计算结束。

对于按位转发设备来说:当输入帧的第一位到达输入端口时,时间间隔开始计算。当输出帧的第一位在输出端口上可见时,时间间隔计算结束。

延迟的可变性会引发一些问题,未来的应用程序很可能与网络延迟更加紧密相关。网络延迟的增加将会减小网络的可用直径,理想的情况是要消除数据速率对延迟测试的影响。测试应该在不改变设备配置的情况下,对不同大小的帧进行。

对于交换机而言,延迟是衡量交换机性能的一个重要指标,延迟越大说明交换机处理帧的速度越慢。另外管理型交换机和非管型交换机由于系统负载不同、处理方式的区别,在帧转发

延迟上会存在较大差异。

1.2 软件测试方法

1.2.1 基本测试方法

SmartBits以用户所定义的速率发送一个burst,帧的大小和发送的数目由用户自己定义。在所发送的数据帧的中间,插入一个带有tag的帧,该帧被用来计算Latency。当tag帧被完全传送时,记录此时时间,标记为Transmit Timestamp;接收端识别该tag帧的时间则记为Receive Timestamp。则Latency的计算公式为:

(Receive Timestamp) minus (Transmit Timestamp) = Latency

对于按位转发设备的测量,SmartApplications采用FIFO规则,也就是说它计算的是以下这两个时间之间的差值:输入帧的第一位到达输入端口时的时间和输出帧的第一位在输出端口上可见时的时间。如果在S&F栏上显示NA,则是因为S&F的计算结果为0或负数,表示DUT/SUT 是一个按位转发设备。

1.2.2 测试步骤

1.进行Throughput测试以获得最合适的DUT吞吐量速率。

2.设置Latency的参数运行。

3.采用下面的计算公式以得到S&F时间:

(Test result)-(frame-length bit time)=(store & forward Latency)

1.2.3 抓包分析

通过端口镜像功能对Latency测试过程抓包,第一个测试帧结构如图6。

图表6 first test frame

该帧trigger2字段中包含的是4e 65 74 63 6f 95,转换为ASCII码就是Netco.(.为不可显示符号)。

Tag帧位于Burst的中间,其结构如图7所示。

图表7 tag frame

Tag帧trigger2字段中包含的是4e 65 74 63 6f 6d,转换为ASCII码就是Netcom。

图表 1 timestamp1

用分布式协议分析仪J6801A可以抓到两边发的包,它通过硬件同步可以显示出抓包时的绝对时间,通过这个时间我们可以计算出交换机、路由器转发包的Latency大小。

如图所示,tag帧的timestamp1为:0.4201067,timestamp2为:0.4202678。两者之差值为:timestamp1-timestamp2=0.4202678-0.4201067=161.1us。进而可以算出S&F时间:

161.1-1518*8*0.01=39.66us

Latency的大小与交换机、路由器能否达到线速有很大关系。如果交换机、路由器达不到线速或者借助于缓存才能达到线速,那么用线速来测量Latency时,由于tag帧在缓存中等待处理的时间很长最终测得的Latency要比正常的数据大很多。所以测试Latency之前一定要先测Throughput以获得最合适的吞吐率。

1.2.4 Broadcast latency

RFC2285中对Broadcast Latency定义如下:

DUT/SUT在广播域中转发一个广播帧到各个端口所需要的时间。

AST II中共有七项测试,其中一项是Broadcast Latency的测试。其测试原理是由RFC2889而来:选取一个源端口和N个目的端口,由源端口向目的端口发送一个广播包来进行Broadcast Latency测试。它从广播帧第一位离开源SmartCard时计时,到广播帧第一位到达目的SmartCard 时计时结束。

如图8所示,AST II测试Broadcast Latency所发送的广播包,其帧末尾三个字节ASCII 码为AST,表明这是测试帧。

图表8 Broadcast test frame

1.3 注意事项和相关结论

https://www.360docs.net/doc/3b12871078.html,tency测试之前应该先进行DUT的吞吐量测试以获得最适宜的DUT吞吐量速率,然后用测出的吞吐量来测试Latency,这样可以防止tag帧的丢失。

2.实际Latency的计时并不是从tag帧的第一位开始,而是从tag帧的trigger的最后一位离开源SmartCard开始计时到tag帧的trigger的最后一位到达目的SmartCard结束,二者之差值即为Test result。也就是说SmartApplications通过tag帧计算出的时间是CT时间,需根据下面的公式求得S&F值。

(test result) - (frame-length bit time) = (store & forward Latency )

3.线长对测试结果的影响:由于计时开始和结束都是由SmartBits所决定,所以交换机测试端口之间的线长对结果会产生一定的影响。经过实际测试,10M Full、1518bytes模式下,线长50m+60cm时测得S&F时间为13.2us;同等模式下,线长150m+50m+30cm时测得S&F时间为13.9us。这也就是说线长对测试结果确实存在影响,但对测试结果的判定不会产生决定性作用,测试时可以忽略线长所带来的影响。

4.RFC2544中推荐duration大于120s,trial大于20次。这两个参数如果这样设置的话结果会相当准确,不过花费的时间太长不适合实际测试使用。我司目前采用的参数是duration

30s,trial 1次。这里需考虑交换机能否达到线速,如果达不到线速将可能丢失测试帧,这样测得的结果为无效的。此外,还需考虑测试时间的问题,如果交换机本身达不到线速,借助于缓存却可以达到,时间长短对结果就会有很大影响。所以首先要确定最合适的吞吐率,然后确定测试时间。推荐设置:duration 60s,trial 5次。

5. Broadcast latency由于其计时方式和CT时间的计时方式一致。通过分析可知,交换机对广播包进行校验检查以后,读出目的地址然后就直接转发给各个端口,无须像处理正常包时有个查表操作,所以其结果相对Latency来说要小一些。

第二章 Throughput原理分析

2.1 Throughput定义

RFC1242中定义了Throughput:即在没有帧丢失的情况下,设备能够接受的最大速率。

对于一个以太网系统,最大吞吐率应该等同于其接口速率。例如, 10M Bit/s,100M

Bit/s,1000M Bit/s。而实际上,由于不同的帧长度带来不同的传输效率, 这些绝对的吞吐率是无法达到的。越小的帧由于前导码和帧间隔的原因,其传输效率就越低。

根据以太网规定8字节的前导码以及12字节的最小帧间隔,我们很容易算出有效传输负荷,以发送64帧长为例,其有效传输负荷64Bytes,总的长度为 84Bytes,接口速率为10M Bit/s,Throughput理论值计算方法:

10M / (84*8) =14880.9 Frames/ per second

如图9所示,显示的是在不同的帧长度下实际可达到的最大吞吐率。

图表9 Throughput理论值

2.2 软件测试方法

2.2.1 测试目标

以设置的初始速度开始,通过不断的调整iteration的速率,力图找出在不丢帧情况下的最大吞吐量。

2.2.2 第一次和第二次测试

第一次测试可能会带来三个结果:

1.初始速度等于最大速度且没有丢帧。这种情况下,测试结束,初始速度就被记做吞吐量。

2.初始速度小于最大速度且没有丢帧。这种情况下,调整速度为初始速度和最大速度的二分之一,开始第二次测试。

3.有帧丢失。速度调整为初始速度的80%,开始第二次测试。20%速度的调整只出现在第一次测试失败的情况下。

2.2.3 第三次和后续测试

第三次测试和后续的测试采用二分法来寻找可能的最大速度。每次测试后,如果测试通过则速度上调50%;如果失败则速度下调50%。重复该过程直至找到最大速度。当然,只采用二分法是不可能得到理论上精确的最大吞吐量:速率的调整会越来越小。基于这个原因,测试参数里包含了一个精度条件。当速率调整不满足精度时停止测试,当前得到的最大速率即为最大吞吐量。

2.2.4 抓包分析

通过端口镜像对测试过程进行抓包可以发现:测试帧trigger2字段是由1开始递增的。(参数配置:10M Half 1518Bytes)

第一帧结构如图10所示,其帧序号为1。

图表10 throughput test first frame

最后一帧结构如图11所示,其序号为813(16进制为0x032D)。

图表11 throughput test last frame

SmartApplications以此来进行帧的计数,判断测试成功与否。其速度的调整如图12所示。从图中很明显可以看出来,通过二分法不断的调整测试速度,最终得到交换机在不丢帧的情况下最大的转发速度。

图表12 Throughput 算法

2.3注意事项和相关结论

1.进行Throughput测试时,应把流控关闭。实际上如果打开了交换机的流控进行Throughput测试时,软件会提示关闭流控,不然无法进行测试。这主要是因为如果实际中交换机达不到线速,产生了流控,它会阻止Smartcard发包,这样得出的结果是没有意义的。

2.半双工进行测试时不能勾选Bi-directional,如果勾选此项会造成过多的冲突导致测试结果无效。

3.路由器测试Throughput应该满足以下几个条件:https://www.360docs.net/doc/3b12871078.html,N-to-WAN;b.64bytes小包;c.须测两种模式:NAT开启,防火墙关闭;NAT开启,防火墙开启。这是因为数据流出或流入局域网才需要路由器处理,才能代表路由器性能,LAN-to-LAN代表的仅是路由器内部小交换机性能,一点意义都没有;其次路由器在处理数据包时,主要的时间花在处理包头、包尾上对不同大小的数据包,路由器每秒能处理的包数量差别不会太大。如128Byte包每秒能处理10000个,并不能做到64 Byte包每秒处理20000个,而是只比10000个略多一点点,比如10100个。小包转发的处理能力才能真正体现路由器的Throughput能力;再次NAT是宽带路由器最基本、最核心的功能,不开启NAT就不成其为宽带路由器了,而且软件设计的好坏直接影响到NAT效率和路由器性能,所以NAT开启的Throughput才是有意义的。而防火墙,应该算作宽带路由器附带的高级功能,有的产品防火墙规则很复杂,能过滤很多东西,有的产品规则就又少又简单。规则多、复杂的,CPU用来过滤数据的时间就长,规则少、简单的,过滤数据的时间就短,这对Throughput测试数据影响还是挺大的。为公平起见,在测试路由器Throughput时,特别是在不同产品性能比较时,把防火墙关闭是合理的。防火墙开启后进行Throughput测试,可以从另一个方面来比较防火墙的算法优劣。

4.该项测试所发帧的多少由测试时间Duration所决定,RFC2544中没有给出相关理论值,我司目前采用参数为30s。个人认为该项参数的设置至少要满足能够把交换机的缓存填满,这样测出的数据才是合乎实际的;如果测试测试时间过短,可能还未把交换机的缓存填满就结束了,这样得到的吞吐率并不是实际上真正的吞吐率。推荐设置:duration 60s,trial 1次。

第三章 Packet loss原理分析

3.1 Packet loss定义

RFC1242中对Packet loss定义如下:

在固定状态负载下,由于缺乏资源而没有被网络设备转发出去的帧占所有应该被转发的帧数的百分比。

这个衡量标准可以用来报告网络设备在超载状态下的性能。对于处于负载过重状态下的网

络,如受到广播风暴冲击下的网络,这个标准可以很有用地报告网络设备的运行方式。

3.2软件测试方法

3.2.1 基本测试方法

1.源smartcard以最大可能的吞吐率发送一个特定时间的burst。

2.目的smartcard统计收到的帧数。

3.丢弃的帧数和丢帧率被计算出来。

RFC2544中的基准测试方法是先以最大的吞吐率进行测试,然后逐次降低10%速率进行测试,如果连续的两次测试通过无丢包那么测试停止。其中每次调整的速率幅度必须是最大速度的10%。

3.2.2 抓包分析

测试帧如图13所示,trigger2字段为6字节的Netcom ASCII字符串值。

图表13 Packet loss frame

3.3注意事项和相关结论

1.Packet loss主要测试交换机在短时间,高转发率(线速)条件下,转发帧过程中丢帧百分比。

2.对于吞吐量达到100%线速的交换机来说,帧丢失率测试结果必然为0。

3. 推荐设置:duration 10s,trial 1次。

第四章 Back to Back原理分析

4.1 Back to Back定义

RFC1242中对Back to Back定义如下:

固定长度的帧按照一定的速率出现,从而当某种传输介质传输这些需按一定速率传送的帧时,从空闲状态到开始传送只需经过一段短的或者中等的时段,帧和帧之间只会有些极小的合法的间隔出现。

在网络中许多设备都可以产生背靠背帧脉冲串,并且这种设备的数目还在增长中。这样的设备比如使用像NFS一类的协议的远端磁盘服务器,比如RDUMP这样的远端磁盘备份系统,和远端磁带访问系统都可以被配置成:一个请求就可以引发一批大小为64K字节的数据被返回。对于以太网这样只能传送相对小的MTU的网络来说,由此会导致许多网络片断在网络中传送。因为只有当所有的网络片断都被收到时,才会将这些网络片断重组,如果因为网络中的某些网络设备没能对连续帧进行充分处理而引起某个网络片断的丢失,将会使这些网络片断的发送方陷入无限循环中,不断地尝试着发送大量数据段来使接收方完整地收到这些网络片断。

随着Internet的规模不断扩大,使得路由更新信息生成许多帧,同时现代路由表被传送的速度也要非常快。由于路由信息传送帧的丢失将会产生网络不可达的错误信息。对这个参数的

测试目的就是要确定网络设备的数据缓存范围的大小。

4.2软件测试方法

4.2.1第一次和第二次测试

第一次测试可能产生两个结果:

1.目的端口收到了所有的帧。这种情况下,测试成功且停止。

2.一个或多个帧丢失。这种情况下,发送帧的数量调整为原来的50%,开始第二次测试。

4.2.2第三次和后续测试

第三次和后续测试采用二分法来进行调整测试,和Throughput很类似,只不过Throughput 每次调整的是速率,而Back to Back每次调整的是发送的帧数。每次测试后,发送帧的数量都作相应调整,如果测试通过则帧数上调50%,如果测试失败则帧数下调50%。一直重复直到找寻到最好的结果:一个帧也不丢。

4.2.3 抓包分析

测试帧如图14所示,trigger2字段为6字节的Netcom ASCII字符串值。

图表14 Back to Back test frame

其发送时间调整算法如图15所示。

图表15 Back to Back 算法

4.3注意事项和相关结论

1.该测试调整发包的数量是通过调整测试时间duration来实现的。

2.该项测试主要反映交换机处理网络突发数据的缓冲能力,从另一个方面也可以反映交换机缓冲区的大小。所以该项测试的duration的设置必须满足能够填满交换机的缓冲区,建议为60s。

3.背对背测试结果是在稳态负载情况下获得的持续不丢包的帧数量,对于吞吐量结果为100%线速的交换机来说该值并没有太大意义。对于吞吐量不是线速的交换机,背对背测试往往

能够反映设备缓存的大小,而且不同交换机差别很大。

4.4 Throughput,Packet loss以及Back to Back的关系

1.Throughput 作为用户选择和衡量交换机性能最重要的指标之一,吞吐量的高低决定了交换机在没有丢帧的情况下发送和接收帧的最大速率。

2.Packet loss 该测试决定交换机在持续负载状态下应该转发,但由于缺乏资源而无法转发的帧的百分比。帧丢失率可以反映交换机在过载时的性能状况,这对于指示交换机在不正常状态下的运行情况非常有用。

3.Back-to-Back 该测试反映交换机在不丢帧的情况下能够持续转发数据帧的数量。该参数的测试能够反映数据缓冲区的大小。

这三项测试的各自侧重点不同,但都是针对现实使用中可能会遇到的情况做一个测试:Throughput是反映交换机在长时间的使用中不丢包情况下所能达到的最大转发速率;Packet loss则是测试交换机在短时间,高转发率条件下,转发帧过程中丢帧百分比;Back to Back

则反映交换机数据缓冲区的大小。结合这三个测试一款交换机的性能就可以很明显的体现出来。

参考文档

1.IEEE 80

2.3协议

2.SmartApplications help

3.SmartApplications User Guide

4.SmartApplications_API_3.00_UG_RevG

5.RFC1242、RFC2544 S.Bradner Harvard University

6.RFC2285、RFC2889 R. Mandeville European Network Laboratories

7.以太网(第三版) [美]Gilbert Held著人民邮电出版社

8.快速以太网 [美]Liam B.Quinn著人民邮电出版社

9.千兆位以太网教程 [美] Jayant K,Mohan K著清华大学出版社

性能测试指标介绍

性能测试指标介绍 第一页 | 第二页 TPC-C 作为一家非盈利性机构,事务处理性能委员会(TPC)负责定义诸如TPC-C、TPC-H和TPC-W基准测试之类的事务处理与数据库性能基准测试,并依据这些基准测试项目发布客观性能数据。TPC基准测试采用极为严格的运行环境,并且必须在独立审计机构监督下进行。委员会成员包括大多数主要数据库产品厂商以及服务器硬件系统供应商。 相关企业参与TPC基准测试以期在规定运行环境中获得客观性能验证,并通过应用测试过程中所使用的技术开发出更加强健且更具伸缩性的软件产品及硬件设备。 TPC-C是一种旨在衡量联机事务处理(OLTP)系统性能与可伸缩性的行业标准基准测试项目。这种基准测试项目将对包括查询、更新及队列式小批量事务在内的广泛数据库功能进行测试。许多IT专业人员将TPC-C视为衡量“真实”OLTP系统性能的有效指示器。 TPC-C基准测试针对一种模拟订单录入与销售环境测量每分钟商业事务(tpmC)吞吐量。特别值得一提的是,它将专门测量系统在同时执行其它四种事务类型(如支付、订单状态更新、交付及证券级变更)时每分钟所生成的新增订单事务数量。独立审计机构将负责对基准测试结果进行公证,同时,TPC将出据一份全面彻底的测试报告。这份测试报告可以从TPC Web站点(https://www.360docs.net/doc/3b12871078.html,)上获得。 tpmC定义: TPC-C的吞吐量,按有效TPC-C配置期间每分钟处理的平均交易次数测量,至少要运行12分钟。 1.TPC-C规范概要 TPC-C是专门针对联机交易处理系统(OLTP系统)的,一般情况下我们也把这类系统称为业务处理系统。TPC-C测试规范中模拟了一个比较复杂并具有代表意义的OLTP应用环境:假设有一个大型商品批发商,它拥有若干个分布在不同区域的商品库;每个仓库负责为10个销售点供货;每个销售点为3000个客户提供服务;每个客户平均一个订单有10项产品;所有订单中约1%的产品在其直接所属的仓库中没有存货,需要由其他区域的仓库来供货。 该系统需要处理的交易为以下几种: ?New-Order:客户输入一笔新的订货交易; ?Payment:更新客户账户余额以反映其支付状况; ?Delivery:发货(模拟批处理交易); ?Order-Status:查询客户最近交易的状态; ?Stock-Level:查询仓库库存状况,以便能够及时补货。 对于前四种类型的交易,要求响应时间在5秒以内;对于库存状况查询交易,要求响应时间在20秒以内。逻辑结构图:

性能测试结果分析

性能测试结果分析 分析原则: 具体问题具体分析(这是由于不同的应用系统,不同的测试目的,不同的性能关注点) 查找瓶颈时按以下顺序,由易到难。 服务器硬件瓶颈-〉网络瓶颈(对局域网,可以不考虑)-〉服务器操作系统瓶颈(参数配置)-〉中间件瓶颈(参数配置,数据库,web服务器等)-〉应用瓶颈(SQL语句、数据库设计、业务逻辑、算法等) 注:以上过程并不是每个分析中都需要的,要根据测试目的和要求来确定分析的深度。对一些要求低的,我们分析到应用系统在将来大的负载压力(并发用户数、数据量)下,系统的硬件瓶颈在哪儿就够了。 分段排除法很有效 分析的信息来源: 1)根据场景运行过程中的错误提示信息 2)根据测试结果收集到的监控指标数据 一.错误提示分析 分析实例: 1)Error:Failed to connect to server “https://www.360docs.net/doc/3b12871078.html,″: [10060] Connection Error:timed out Error: Server “https://www.360docs.net/doc/3b12871078.html,″ has shut down the connection prematurely 分析: A、应用服务死掉。 (小用户时:程序上的问题。程序上处理数据库的问题) B、应用服务没有死 (应用服务参数设置问题)

例:在许多客户端连接Weblogic应用服务器被拒绝,而在服务器端没有错误显示,则有可能是Weblogic中的server元素的 AcceptBacklog属性值设得过低。如果连接时收到connection refused消息,说明应提高该值,每次增加25% C、数据库的连接 (1、在应用服务的性能参数可能太小了;2、数据库启动的最大连接数(跟硬件的内存有关)) 2)Error: Page download timeout (120 seconds) has expired 分析:可能是以下原因造成 A、应用服务参数设置太大导致服务器的瓶颈 B、页面中图片太多 C、在程序处理表的时候检查字段太大多 二.监控指标数据分析 1.最大并发用户数: 应用系统在当前环境(硬件环境、网络环境、软件环境(参数配置))下能承受的最大并发用户数。 在方案运行中,如果出现了大于3个用户的业务操作失败,或出现了服务器shutdown的情况,则说明在当前环境下,系统承受不了当前并发用户的负载压力,那么最大并发用户数就是前一个没有出现这种现象的并发用户数。 如果测得的最大并发用户数到达了性能要求,且各服务器资源情况良好,业务操作响应时间也达到了用户要求,那么OK。否则,再根据各服务器的资源情况和业务操作响应时间进一步分析原因所在。 2.业务操作响应时间: 分析方案运行情况应从平均事务响应时间图和事务性能摘要图开始。使用“事务性能摘要”图,可以确定在方案执行期间响应时间过长的事务。 细分事务并分析每个页面组件的性能。查看过长的事务响应时间是由哪些页面组件引起的?问题是否与网络或服务器有关? 如果服务器耗时过长,请使用相应的服务器图确定有问题的服务器度量并查明服务器性能下降的原因。如果网络耗时过长,请使用“网络监视器”图确定导致性能瓶颈的网络问题

性能测试指标

Web性能测试的部分概况一般来说,一个Web请求的处理包括以下步骤: (1)客户发送请求 (2)web server 接受到请求,进行处理; (3)web server 向DB获取数据; (4)web server生成用户的object(页面),返回给用户。给客户发送请求开始到最后一个字节的时间称为响应时间(第三步不包括在每次请求处理中)。 1.事务(Transaction) 在web性能测试中,一个事务表示一个“从用户发送请求->web server接受到请求,进行处理-> web server向DB获取数据->生成用户的object(页面),返回给用户”的过程,一般的响应时间都是针对事务而言的。 2.请求响应时间 请求响应时间指的是从客户端发起的一个请求开始,到客户端接收到从服务器端返回的响应结束,这个过程所耗费的时间,在某些工具中,响应通常会称为“TTLB”,即"time to last byte",意思是从发起一个请求开始,到客户端接收到最后一个字节的响应所耗费的时间,响应时间的单位一般为“秒”或者“毫秒”。一个公式可以表示:响应时间=网络响应时间+应用程序响应时间。标准可参考国外的3/5/10原则: (1)在3秒钟之内,页面给予用户响应并有所显示,可认为是“很不错的”; (2)在3~5秒钟内,页面给予用户响应并有所显示,可认为是“好的”;

(3)在5~10秒钟内,页面给予用户响应并有所显示,可认为是“勉强接受的”; (4)超过10秒就让人有点不耐烦了,用户很可能不会继续等待下去; 3、事务响应时间 事务可能由一系列请求组成,事务的响应时间主要是针对用户而言,属于宏观上的概念,是为了向用户说明业务响应时间而提出的.例如:跨行取款事务的响应时间就是由一系列的请求组成的.事务响应时间是直接衡量系统性能的参数. 4.并发用户数 并发一般分为2种情况。一种是严格意义上的并发,即所有的用户在同一时刻做同一 件事情或者操作,这种操作一般指做同一类型的业务。比如在信用卡审批业务中,一 定数目的拥护在同一时刻对已经完成的审批业务进行提交;还有一种特例,即所有用 户进行完全一样的操作,例如在信用卡审批业务中,所有的用户可以一起申请业务,或者修改同一条记录。 另外一种并发是广义范围的并发。这种并发与前一种并发的区别是,尽管多个用 户对系统发出了请求或者进行了操作,但是这些请求或者操作可以是相同的,也可以 是不同的。对整个系统而言,仍然是有很多用户同时对系统进行操作,因此也属于并 发的范畴。 可以看出,后一种并发是包含前一种并发的。而且后一种并发更接近用户的实际 使用情况,因此对于大多数的系统,只有数量很少的用户进行“严格意义上的并发”。对于WEB性能测试而言,这2种并发情况一般都需要进行测试,通常做法是先进行严格意义上的并发测试。严格意义上的用户并发一般发生在使用比较频繁的模块中,尽 管发生的概率不是很大,但是一旦发生性能问题,后果很可能是致命的。严格意义上 的并发测试往往和功能测试关联起来,因为并发功能遇到异常通常都是程序问题,这 种测试也是健壮性和稳定性测试的一部分。

性能测试报告-模板

Xxx系统性能测试报告 拟制:****日期:****审核:日期: 批准:日期:

1.概述 1.1.编写目的 本次测试报告为xxx系统的性能测试总结报告,目的在于总结性能测试工作,并分析测试结果,描述系统是否符合xxx系统的性能需求。 预期参考人员包括用户、测试人员、开发人员、项目管理者、质量管理人员和需要阅读本报告的高层经理。 1.2.项目背景 腾讯公司为员工提供一个网上查询班车的入口,分析出哪些路线/站点比较紧张或宽松,以进行一些合理调配。 1.3.测试目标 (简要列出进行本次压力测试的主要目标)完善班车管理系统,满足腾讯内部员工的班车查询需求,满足500个用户并发访问本系统。 1.4.名词解释 测试时间:一轮测试从开始到结束所使用的时间 并发线程数:测试时同时访问被测系统的线程数。注意,由于测试过程中,每个线程都是以尽可能快的速度发请求,与实际用户的使用有极大差别,所以,此数据不等同于实际使用时的并发用户数。 每次时间间隔:测试线程发出一个请求,并得到被测系统的响应后,间隔多少时间发出下一次请求。 平均响应时间:测试线程向被测系统发请求,所有请求的响应时间的平均值。 处理能力:在某一特定环境下,系统处理请求的速度。 cache影响系数:测试数据未必如实际使用时分散,cache在测试过程中会比实际使用时发挥更大作用,从而使测试出的最高处理能力偏高,考虑到这个因素而引入的系数。 用户习惯操作频率:根据用户使用习惯估算出来的,单个用户在一段时间内,使用此类功能的次数。通常以一天内某段固定的高峰使用时间来统计,如果一天内没有哪段时间是固定的高峰使用时间,则以一天的工作时间来统计。

浅谈软件性能测试中关键指标的监控与分析

一、软件性能测试需要监控哪些关键指标? 软件性能测试的目的主要有以下三点: ·评价系统当前性能,判断系统是否满足预期的性能需求。 ·寻找软件系统可能存在的性能问题,定位性能瓶颈并解决问题。 ·判定软件系统的性能表现,预见系统负载压力承受力,在应用部署之前,评估系统性能。 而对于用户来说,则最关注的是当前系统: ·是否满足上线性能要求? ·系统极限承载如何? ·系统稳定性如何? 因此,针对以上性能测试的目的以及用户的关注点,要达到以上目的并回答用户的关注点,就必须首先执行性能测试并明确需要收集、监控哪些关键指标,通常情况下,性能测试监控指标主要分为:资源指标和系统指标,如下图所示,资源指标与硬件资源消耗直接相关,而系统指标则与用户场景及需求直接相关。 性能测试监控关键指标说明: ·资源指标 CPU使用率:指用户进程与系统进程消耗的CPU时间百分比,长时间情况下,一般可接受上限不超过85%。 内存利用率:内存利用率=(1-空闲内存/总内存大小)*100%,一般至少有10%可用内存,内存使用率可接受上限为85%。 磁盘I/O: 磁盘主要用于存取数据,因此当说到IO操作的时候,就会存在两种相对应的操作,存数据的时候对应的是写IO操作,取数据的时候对应的是是读IO操作,一般使用% Disk Time(磁盘用于读写操作所占用的时间百分比)度量磁盘读写性能。 网络带宽:一般使用计数器Bytes Total/sec来度量,Bytes Total/sec表示为发送和接收字节的速率,包括帧字符在内。判断网络连接速度是否是瓶颈,可以用该计数器的值和目前网络的带宽比较。 ·系统指标: 并发用户数:某一物理时刻同时向系统提交请求的用户数。 在线用户数:某段时间内访问系统的用户数,这些用户并不一定同时向系统提交请求。 平均响应时间:系统处理事务的响应时间的平均值。事务的响应时间是从客户端提交访问请求到客户端接收到服务器响应所消耗的时间。对于系统快速响应类页面,一般响应时间为3秒左右。 事务成功率:性能测试中,定义事务用于度量一个或者多个业务流程的性能指标,如用户登录、保存订单、提交订单操作均可定义为事务,如下图所示:

性能测试测试方案

性能测试详细测试方案 前言 平台XX项目系统已经成功发布,依据项目的规划,未来势必会出现业务系统中信息大量增长的态势。 随着业务系统在生产状态下日趋稳定、成熟,系统的性能问题也逐步成为了我们关注的焦点:每天大数据量的“冲击”,系统能稳定在什么样的性能水平,面临行业公司业务增加时,系统能否经受住“考验”,这些问题需要通过一个完整的性能测试来给出答案。 1第一章XXX系统性能测试概述 1.1被测系统定义 XXX系统作为本次测试的被测系统(注:以下所有针对被测系统地描述均为针对XXX系统进行的),XXX系统是由平台开发的一款物流应用软件,后台应用了Oracle11g数据库,该系统包括主要功能有:XXX等.在该系统中都存在多用户操作,大数据量操作以及日报、周报、年报的统计,在本次测试中,将针对这些多用户操作,大数据量的查询、统计功能进行如预期性能、用户并发、大数据量、疲劳强度和负载等方面的性能测试,检查并评估在模拟环境中,系统对负载的承受能力,在不同的用户连接情况下,系统的吞吐能力和响应能力,以及在预计的数据容量中,系统能够容忍的最大用户数。 1.1.1功能简介 主要功能上面已提到,由于本文档主要专注于性能在这里功能不再作为重点讲述. 1.1.2性能测试指标 本次测试是针对XXX系统进行的全面性能测试,主要需要获得如下的测试指标。

1、应用系统的负载能力:即系统所能容忍的最大用户数量,也就是在正常的响应时间中,系统能够支持的最多的客户端的数量。 2、应用系统的吞吐量:即在一次事务中网络内完成的数据量的总和,吞吐量指标反映的是服务器承受的压力.事务是用户某一步或几步操作的集合。 3、应用系统的吞吐率:即应用系统在单位时间内完成的数据量,也就是在单位时间内,应用系统针对不同的负载压力,所能完成的数据量。 4、TPS:每秒钟系统能够处理事务或交易的数量,它是衡量系统处理能力的重要指标。 5、点击率:每秒钟用户向服务器提交的HTTP请求数。 5、系统的响应能力:即在各种负载压力情况下,系统的响应时间,也就是从客户端请求发起,到服务器端应答返回所需要的时间,包括网络传输时间和服务器处理时间。 6、应用系统的可靠性:即在连续工作时间状态下,系统能够正常运行的时间,即在连续工作时间段内没有出错信息。 1.2系统结构及流程 XXX系统在实际生产中的体系结构跟本次性能测试所采用的体系结构是一样的,交易流程也完全一致的。不过,由于硬件条件的限制,本次性能测试的硬件平台跟实际生产环境略有不同. 1.2.1系统总体结构 描述本系统的总体结构,包括:硬件组织体系结构、网络组织体系结构、软件组织体系结构和功能模块的组织体系结构. 1.2.2功能模块 本次性能测试中各类操作都是由若干功能模块组成的,每个功能都根据其执行特点分成了若干操作步骤,每个步骤就是一个功能点(即功能模块),本次性能测试主要涉及的功能模块以及所属操作如下表

性能测试通常需要监控的指标

?每台服务器每秒平均PV量= ((80%*总PV)/(24*60*60*(9/24)))/服务器数量, ?即每台服务器每秒平均PV量=2.14*(总PV)/* (24*60*60) /服务器数量 ?最高峰的pv量是1.29倍的平均pv值 性能测试策略 1.模拟生产线真实的硬件环境。 2.服务器置于同一机房,最大限度避免网络问题。 3.以PV为切入点,通过模型将其转换成性能测试可量化的TPS。 4.性能测试数据分为基础数据和业务数据两部分,索引和SQL都会被测试到。 5.日志等级设置成warn,避免大量打印log对性能测试结果的影响。 6.屏蔽ESI缓存,模拟最坏的情况。 7.先单场景,后混合场景,确保每个性能瓶颈都得到调优。 8.拆分问题,隔离分析,定位性能瓶颈。 9.根据性能测试通过标准,来判断被测性能点通过与否。 10.针对当前无法解决的性能瓶颈,录入QC域进行跟踪,并请专家进行风险评估。 性能测试压力变化模型

a点:性能期望值 b点:高于期望,系统资源处于临界点 c点:高于期望,拐点 d点:超过负载,系统崩溃 性能测试 a点到b点之间的系统性能,以性能预期目标为前提,对系统不断施加压力,验证系统在资源可接受范围内,是否能达到性能预期。 负载测试 b点的系统性能,对系统不断地增加压力或增加一定压力下的持续时间,直到系统的某项或多项性能指标达到极限,例如某种资源已经达到饱和状态等。 压力测试 b点到d点之间,超过安全负载的情况下,对系统不断施加压力,是通过确定一个系统的瓶颈或不能接收用户请求的性能点,来获得系统能提供的最大服务级别的测试。

稳定性测试 a点到b点之间,被测试系统在特定硬件、软件、网络环境条件下,给系统加载一定业务压力,使系统运行一段较长时间,以此检测系统是否稳定,一般稳定性测试时间为n*12小时。 监控指标 性能测试通常需要监控的指标包括: 1.服务器 Linux(包括CPU、Memory、Load、I/O)。 2.数据库:1.Mysql 2.Oracle(缓存命中、索引、单条SQL性能、数据库线程数、数据池连接数)。 3.中间件:1.Jboss 2. Apache(包括线程数、连接数、日志)。 4.网络:吞吐量、吞吐率。 5.应用: jvm内存、日志、Full GC频率。 6.监控工具(LoadRunner):用户执行情况、场景状态、事务响应时间、TPS等。 7.测试机资源:CPU、Memory、网络、磁盘空间。 监控工具 性能测试通常采用下列工具进行监控: 1.Profiler。一个记录log的类,阿里巴巴集团自主开发,嵌入到应用代码中使用。 2.Jstat。监控java 进程GC情况,判断GC是否正常。 3.JConsole。监控java内存、java CPU使用率、线程执行情况等,需要在JVM参数中进行配置。 4.JMap。监控java程序是否有内存泄漏,需要配合eclipse插件或者MemoryAnalyzer 来使用。 5.JProfiler。全面监控每个节点的CPU使用率、内存使用率、响应时间累计值、线程执行情况等,需要在JVM参数中进行配置。 6.Nmon。全面监控linux系统资源使用情况,包括CPU、内存、I/O等,可独立于应用监控。

《Web项目测试实战》性能测试需求分析章节样章

5.1.2性能测试需求提取 复习了一些常见的理论概念后,我们开始性能测试需求的提取。这个过程是非常重要的,往往测试失败,就是因为在这个过程中不知道如何得到确切的性能指标,而导致测试无法正常开展。性能测试需求提取一般的流程如图5- 1所示。 图5- 1性能测试需求提取流程 分析提取指标 在用户需求规格说明书中,会给出系统的功能、界面与性能的要求。规范的需求规格说明书都会给出明确的性能指标,比如单位时间内访问量要达到多少、业务响应时间不超过多少、业务成功率不低于多少、硬件资源耗用要在一个合理的范围中,这些指标都会以可量化的数据进行说明。如果,实际项目并没有这些正规的文档时,项目经理部署测试任务给测试组长时,一般就会说明是否要对项目的哪些业务模块进行性能测试,以及测试的要求是什么的。最麻烦的就是项目经理或者客户要求给出一个测试部门认为可以的数据,这样非常难做的。可是“甲方”往往都是提要求的,“乙方”只能“无条件”接受! 表5- 1需求规格说明书中的性能要求 表5- 1给出的指标非常明确,在测试过程中,我们只需收集用户登录模块的响应时间、登录成功率、并发数、CPU使用率、内存使用率的数据,然后与表5- 1的指标进行比较即可,通过的,就认为达到了客户要求的性能,未达到就分析原因,并给出测试报告及解决建议。 大多数是没有明确的需求,需要我们自己根据各种资料、使用各种方法去采集测试指标。以OA系统为例,假设《OA系统需求规格说明书》中并未指明系统的性能测试要求,需要测试工程师自己分析被测系统及采集性能衡量指标。 分析OA系统的结构,所有功能中仅有考勤模块可能是被测系统最终用户经常使用的业务点,那么我们的重点应该在放在该模块上。一般我们可以从下面三个方面来确定性能测试点: 第一、用户常用的功能。常用的功能一旦性能无法满足,比如登录功能,从输入用户名与密码点击登录按钮到显示成功登录信息,花了5分钟,这样的速度是 人无法忍受的。而对于用户不常用的,比如年度报表汇总功能,三个季度甚 至是一年才使用,等个10分钟也是正常的,这些是跟用户的主观感受相关 的,得根据实际情况区分。

性能测试指标

Web性能测试得部分概况一般来说,一个Web请求得处理包括以下步骤: (1)客户发送请求 (2)web server接受到请求,进行处理; (3)web server向DB获取数据; (4)web server生成用户得object(页面),返回给用户。给客户发送请求开始到最后一个字节得时间称为响应时间(第三步不包括在每次请求处理中)。 1。事务(Transaction) 在web性能测试中,一个事务表示一个“从用户发送请求->web server接受到请求,进行处理-> webserver向DB获取数据—>生成用户得object(页面),返回给用户”得过程,一般得响应时间都就是针对事务而言得。 2。请求响应时间 请求响应时间指得就是从客户端发起得一个请求开始,到客户端接收到从服务器端返回得响应结束,这个过程所耗费得时间,在某些工具中,响应通常会称为“TTLB”,即"time to last byte",意思就是从发起一个请求开始,到客户端接收到最后一个字节得响应所耗费得时间,响应时间得单位一般为“秒”或者“毫秒"。一个公式可以表示:响应时间=网络响应时间+应用程序响应时间。标准可参考国外得3/5/10原则: (1)在3秒钟之内,页面给予用户响应并有所显示,可认为就是“很不错得"; (2)在3~5秒钟内,页面给予用户响应并有所显示,可认为就是“好得”; (3)在5~10秒钟内,页面给予用户响应并有所显示,可认为就是“勉强接受得"; (4)超过10秒就让人有点不耐烦了,用户很可能不会继续等待下去; 3、事务响应时间 事务可能由一系列请求组成,事务得响应时间主要就是针对用户而言,属于宏观上得概念,就是为了向用户说明业务响应时间而提出得、例如:跨行取款事务得响应时间就就是由一系列得请求组成得。事务响应时间就是直接衡量系统性能得参数。 4、并发用户数 并发一般分为2种情况。一种就是严格意义上得并发,即所有得用户在同一时刻做同一件事情或者操作,这种操作一般指做同一类型得业务、比如在信用卡审批业务中,一定数目得拥护在同一时刻对已经完成得审批业务进行提交;还有一种特例,即所有用户进行完

性能测试基础知识

性能测试基础知识 一、性能测试概述 1、性能测试定义 所谓性能,有狭义和广义两种含义。狭义的性能指运行速度的快慢。广义的性能涉及很多内容,如可靠性、可用性、功耗、环境适应性、兼容性、安全性、保密性、可扩充性、可移植性、利用率、性能价格比、速度等。 性能测试是通过自动化的测试程序或工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。 2、性能测试目的 真实环境下检测系统性能,评估系统性能以及服务等级的满足情况 预见系统负载压力承受力,在应用实际部署之前,评估系统性能 分析系统瓶颈,优化系统 二、主要性能指标 响应时间、吞吐量、并发、点击率、资源利用率 1、响应时间 响应时间指的是客户端发出请求到得到响应的整个过程所经历的时间。 响应时间=网络传输时间*2+服务器处理时间+客户端显示时间。 2、吞吐量 单位时间内流经被测系统的数据流量,一般单位为b/s,即每秒钟流经的字节数。吞吐量是指单位时间内系统处理的客户请求的数量,直接体现软件系统的性能承载能力。 TPS的概念,每秒事务数。确实TPS会随着负载的增加而逐渐增加,但不会无限制的一直增加。比如,到了300用户后就会出现连接服务失败,那可能说明系统进入了繁忙期,从而产生了失败的事务,从而使得每秒的事务数不再增加,甚至会减少。 TPS就像是一个抛物线,可分为3部分,轻负载区、重负载区、负载失效区。 一开始上升的部分就是轻负载区,最顶端的部分就是TPS的峰值(重负载区),然后随着负载的继续增加,TPS会慢慢下降,从而进入我们所谓的负载失效区。 3、并发用户数 指在某一给定时间内,某个特定点上进行会话操作的用户数。是陆陆续续交替执行的。 随着用户数的增加,HIT PER SECOND开始逐渐减少,说明系统已经开始有失败的VUSER 和事务出现。 4、资源利用率 CPU利用率、内存利用率、磁盘利用率、网络带宽利用率

性能测试分析报告案例

***系统性能测试报告 V1.0 撰稿人:******* 时间:2011-01-06

目录 1.测试系统名称及测试目标参考 (3) 2.测试环境 (3) 3.场景设计 (3) 3.1测试场景 (3) 3.1测试工具 (4) 4.测试结果 (4) 4.1登录 (4) 4.2发送公文 (6) 4.3收文登记 (8)

1.测试系统名称及测试目标参考 被测系统名称:*******系统 系统响应时间判断原则(2-5-10原则)如下: 1)系统业务响应时间小于2秒,用户对系统感觉很好; 2)系统业务响应时间在2-5秒之间,用户对系统感觉一般; 3)系统业务响应时间在5-10秒之间,用户对系统勉强接受; 4)系统业务响应时间超过10秒,用户无法接受系统的响应速度。 2.测试环境 网络环境:公司内部局域网,与服务器的连接速率为100M,与客户端的连接速率为10/100M 硬件配置: 3.场景设计 3.1测试场景 间

间 间 3.1测试工具 ●测试工具:HP LoadRunner9.0 ●网络协议:HTTP/HTTPS协议 4.测试结果 4.1登录 ●运行1小时后实际登录系统用户数,用户登录后不退出,一直属于在线状态,最 终登录的用户达到9984个;

●响应时间 ●系统资源

服务器的系统资源表现良好(CPU使用率为14%,有15%的物理内存值)。磁盘等其他指标都表现正常,在现有服务器的基础上可以满足9984个在线用户。 4.2发送公文 运行时间为50分钟,100秒后300个用户全部加载成功,300个用户开始同时进行发文,50分钟后,成功发文数量如下图所示,成功发文17792个,发文失败37 个;

性能测试时需关注的指标

一、性能测试时需关注的指标 [size=4] Memory: 内存使用情况可能是系统性能中最重要的因素。如果系统“页交换”频繁,说明内存不足。“页交换”是使用称为“页面”的单位,将固定大小的代码和数据块从 RAM 移动到磁盘的过程,其目的是为了释放内存空间。尽管某些页交换使 Windows 2000 能够使用比实际更多的内存,也是可以接受的,但频繁的页交换将降低系统性能。减少页交换将显著提高系统响应速度。要监视内存不足的状况,请从以下的对象计数器开始: Available Mbytes:可用物理内存数. 如果Available Mbytes的值很小(4 MB 或更小),则说明计算机上总的内存可能不足,或某程序没有释放内存。page/sec: 表明由于硬件页面错误而从磁盘取出的页面数,或由于页面错误而写入磁盘以释放工作集空间的页面数。一般如果pages/sec持续高于几百,那么您应该进一步研究页交换活动。有可能需要增加内存,以减少换页的需求(你可以把这个数字乘以4k就得到由此引起的硬盘数据流量)。Pages/sec 的值很大不一定表明内存有问题,而可能是运行使用内存映射文件的程序所致。 page read/sec:页的硬故障,page/sec的子集,为了解析对内存的引用,必须读取页文件的次数。阈值为>5. 越低越好。大数值表示磁盘读而不是缓存读。由于过多的页交换要使用大量的硬盘空间,因此有可能将导致将页交换内存不足与导致页交换的磁盘瓶径混淆。因此,在研究内存不足不太明显的页交换的原因时,您必须跟踪如下的磁盘使用情况计数器和内存计数器: Physical Disk\ % Disk Time Physical Disk\ Avg.Disk Queue Length 例如,包括 Page Reads/sec 和 % Disk Time 及 Avg.Disk Queue Length。如果页面读取操作速率很低,同时 % Disk Time 和 Avg.Disk Queue Length的值很高,则可能有磁盘瓶径。但是,如果队列长度增加的同时页面读取速率并未降低,则内存不足。 要确定过多的页交换对磁盘活动的影响,请将 Physical Disk\ Avg.Disk sec/Transfer 和 Memory\ Pages/sec 计数器的值增大数倍。如果这些计数器的计数结果超过了 0.1,那么页交换将花费百分之十以上的磁盘访问时间。如果长时间发生这种情况,那么您可能需要更多的内存。Page Faults/sec:每秒软性页面失效的数目(包括有些可以直接在内存中满足而有些需要从硬盘读取)较page/sec只表明数据不能在内存的指定工作集中立即使用。 Cache Bytes:文件系统缓存(File System Cache),默认情况下为50%的可用物理内存。如IIS5.0 运行内存不够时,它会自动整理缓存。需要关注该计数器的趋势变化 如果您怀疑有内存泄露,请监视 Memory\ Available Bytes 和 Memory\ Committed Bytes,以观察内存行为,并监视您认为可能在泄露内存的进程的 Process\Private Bytes、Process\Working Set 和Process\Handle Count。如果您怀疑是内核模式进程导致了泄露,则还应该监视 Memory\Pool Nonpaged Bytes、

软件性能测试结果分析总结

软件性能测试结果分析总结 平均响应时间:在互联网上对于用户响应时间,有一个普遍的标准。2/5/10秒原则。 也就是说,在2秒之内给客户响应被用户认为是“非常有吸引力”的用户体验。在5秒之内响应客户被认为“比较不错”的用户体验,在10秒内给用户响应被认为“糟糕”的用户体验。如果超过10秒还没有得到响应,那么大多用户会认为这次请求是失败的。 定义:指的是客户发出请求到得到响应的整个过程的时间。在某些工具中,请求响应时间通常会被称为“TTLB”(Time to laster byte) ,意思是从发起一个请求开始,到客户端收到最后一个字节的响应所耗费的时间。 错误状态情况分析:常用的HTTP状态代码如下: 400 无法解析此请求。 401.1 未经授权:访问由于凭据无效被拒绝。 401.2 未经授权: 访问由于服务器配置倾向使用替代身份验证方法而被拒绝。 401.3 未经授权:访问由于ACL 对所请求资源的设置被拒绝。 401.4 未经授权:Web 服务器上安装的筛选器授权失败。 401.5 未经授权:ISAPI/CGI 应用程序授权失败。 401.7 未经授权:由于Web 服务器上的URL 授权策略而拒绝访问。 403 禁止访问:访问被拒绝。 403.1 禁止访问:执行访问被拒绝。 403.2 禁止访问:读取访问被拒绝。 403.3 禁止访问:写入访问被拒绝。 403.4 禁止访问:需要使用SSL 查看该资源。 403.5 禁止访问:需要使用SSL 128 查看该资源。 403.6 禁止访问:客户端的IP 地址被拒绝。

403.7 禁止访问:需要SSL 客户端证书。 403.8 禁止访问:客户端的DNS 名称被拒绝。 403.9 禁止访问:太多客户端试图连接到Web 服务器。 403.10 禁止访问:Web 服务器配置为拒绝执行访问。 403.11 禁止访问:密码已更改。 403.12 禁止访问:服务器证书映射器拒绝了客户端证书访问。 403.13 禁止访问:客户端证书已在Web 服务器上吊销。 403.14 禁止访问:在Web 服务器上已拒绝目录列表。 403.15 禁止访问:Web 服务器已超过客户端访问许可证限制。 403.16 禁止访问:客户端证书格式错误或未被Web 服务器信任。 403.17 禁止访问:客户端证书已经到期或者尚未生效。 403.18 禁止访问:无法在当前应用程序池中执行请求的URL。 403.19 禁止访问:无法在该应用程序池中为客户端执行CGI。 403.20 禁止访问:Passport 登录失败。 404 找不到文件或目录。 404.1 文件或目录未找到:网站无法在所请求的端口访问。 需要注意的是404.1错误只会出现在具有多个IP地址的计算机上。如果在特定IP地址/端口组合上收到客户端请求,而且没有将IP地址配置为在该特定的端口上侦听,则IIS返回404.1 HTTP错误。例如,如果一台计算机有两个IP地址,而只将其中一个IP地址配置为在端口80上侦听,则另一个IP地址从端口80收到的任何请求都将导致IIS返回404.1错误。只应在此服务级别设置该错误,因为只有当服务器上使用多个IP地址时才会将它返回给客户端。404.2 文件或目录无法找到:锁定策略禁止该请求。 404.3 文件或目录无法找到:MIME 映射策略禁止该请求。

详解网站性能测试指标

网站的性能测试指标包括了Web应用服务器、数据库服务器及系统服务器等各种性能测试。每一项测试中都需要根据项目要求完成测试,本文重点讲述了网站性能测试指标,并加以案例分析。 通用指标(指Web应用服务器、数据库服务器必需测试项) Web服务器指标 数据库服务器性能指标 系统的瓶颈定义

稳定系统的资源状态 通俗理解: ·日访问量 ·常用页面最大并发数 ·同时在线人数 ·访问相应时间 案例: 最近公司一个项目,是个门户网站,需要做性能测试,根据项目特点定出了主要测试项和测试方案: 一种是测试几个常用页面能接受的最大并发数(用户名参数化,设置集合点策略) 一种是测试服务器长时间压力下,用户能否正常操作(用户名参数化,迭代运行脚本) 一种则需要测试服务器能否接受10万用户同时在线操作,如果是用IIS做应用服务器的话,单台可承受的最大并发数不可能达到10万级,那就必须要使用集群,

通过多台机器做负载均衡来实现;如果是用websphere之类的应用服务器的话,单 台可承受的最大并发数可以达到10万级,但为性能考虑还是必须要使用集群,通 过多台机器做负载均衡来实现;通常有1个简单的计算方式,1个连接产生1个session,每个session在服务器上有个内存空间大小的设置,在NT上是3M,那么10万并发就需要300G内存,当然实际使用中考虑其他程序也占用内存,所以准备 的内存数量要求比这个还要多一些。还有10万个用户同时在线,跟10万个并发数是完全不同的2个概念。这个楼上已经说了。但如何做这个转换将10万个同时在 线用户转换成多少个并发数呢?这就必须要有大量的历史日志信息来支撑了。系统日志需要有同时在线用户数量的日志信息,还需要有用户操作次数的日志信息,这 2个数据的比例就是你同时在线用户转换到并发数的比例。另外根据经验统计,对 于1个JAVA开发的WEB系统(别的我没统计过,给不出数据),一般1台双CPU、2G内存的服务器上可支持的最大并发数不超过500个(这个状态下大部分 操作都是超时报错而且服务器很容易宕机,其实没什么实际意义),可正常使用(单步非大数据量操作等待时间不超过20秒)的最大并发数不超过300个。假设 你的10万同时在线用户转换的并发数是9000个,那么你最少需要这样的机器18台,建议不少于30台。当然,你要是买个大型服务器,里面装有200个CPU、 256G的内存,千兆光纤带宽,就算是10万个并发用户,那速度,也绝对是嗖嗖的。 另外暴寒1下,光设置全部进入运行状态就需要接近6个小时。具体的可以拿1个 系统来压一下看看,可能会出现以下情况: 1、服务器宕机; 2、客户端宕机; 3、从某个时间开始服务器拒绝请求,客户端上显示的全是错误; 4、勉强测试完成,但网络堵塞或测试结果显示时间非常长。假设客户端和服务器 之间百兆带宽,百兆/10000=10K,那每个用户只能得到10K,这个速度接近1个 64K的MODEM上网的速度;另外以上分析全都没考虑系统的后台,比如数据库、中间件等。 1、服务器方面:上面说的那样的PC SERVER需要50台; 2、网络方面:按每个用户50K,那至少5根百兆带宽独享,估计仅仅网络延迟就 大概是秒一级的; 3、如果有数据库,至少是ORACLE,最好是SYSBASE,SQL SERVER是肯定顶 不住的。数据库服务器至少需要10台4CPU、16G内存的机器; 4、如果有CORBA,那至少再准备10台4CPU、16G内存的机器;再加上负载均衡、防火墙、路由器和各种软件等,总之没个1000万的资金投入,肯定搞不定。

项目性能测试报告

XXX项目or府门户网站性能测试报告

目录 第一章概述 (4) 第二章测试活动 (4) 2.1 测试用具 (4) 2.2 测试范围 (4) 2.3 测试目标 (5) 2.4 测试方法 (5) 2.4.1 基准测试 (5) 2.4.2 并发测试 (6) 2.4.3 稳定性测试 (6) 2.5 性能指标 (6) 2.6 性能测试流程 (6) 2.7 测试术语 (7) 第三章性能测试环境 (8) 3.1 服务器环境 (8) 3.2 客户端环境 (8) 3.3 网络结构 (8) 第四章测试方案 (10) 4.1 基准测试 (11) 4.2 并发测试 (12) 4.3 稳定性测试 (13) 第五章测试结果描述和分析 (15) 6.1基准测试性能分析 (15) 6.2并发测试性能分析 (20) 6.3稳定性性能测试分析 (27) 第六章测试结论 (28)

摘要 本文档主要描述XXXX网站检索和页面浏览性能测试中的测试内容、测试方法、测试策略等。 修改历史

第一章概述 由于当前对系统要接受业务量的冲击,面临的系统稳定、成熟性方面的压力。系统的性 能问题必将成为焦点问题,海量数据量的“冲击”,系统能稳定在什么样的性能水平,面临业务增加时,系统抗压如何等这些问题需要通过一个较为真实的性能模拟测试来给出答案,通过测试和分析为系统性能的提升提供一些重要参考数据,以供后期系统在软硬件方面的改 善和完善。 本《性能测试报告》即是基于上述考虑,参考当前的一些性能测试方法而编写的,用以 指导即将进行的该系统性能测试。 第二章测试活动 2.1测试用具 本次性能测试主要采用 HP 公司的 Loadrunner11 作为性能测试工具。Load runner 主要提供了 3 个性能测试组件:Virtual User Generator, Controller,Analysis。 ●使用 Virtual User Generator 修改和优化脚本。 ●使用 Controller 进行管理,控制并发的模拟并发数,记录测试结果。 ●使用 Analysis 进行统计和分析结果。 2.2测试范围 此次性能测试实施是对吴忠市门户网站系统性能进行测试评估的过程,我们将依据系统 将来的实际运行现状,结合系统的设计目标和业务特点,遵循着发生频率高、对系统或数据 库性能影响大、关键和核心业务等原则选取需要进行测试的业务,模拟最终用户的操作行为, 构建一个与生产环境相近的压力场景,对系统实施压力测试,以此评判系统的实际性能表现。 根据与相关设计,开发人员的沟通和交流,本次测试主要就是针对大量用户在使用吴忠 市门户网站进行信息查询,而选取的典型事务就是用户使用检索进行关键字搜索以及界面浏 览和反馈回搜索结果,这是用户使用最频繁,反应最多的地方,也是本系统当前以及以后业 务的一个重要压力点所在。所以本次测试只选取检索业务的性能情况和界面浏览进行记录和

性能测试案例分析

1.简要场景描述: 被测项目的数据库服务采用ORACLE 10g,测试功能点选择的是一个新建录入保存业务。当并发20用户时,数据库资源占用正常,处理业务响应时间正常,当并发40用户时,数据库服务器CPU占用率突增到100%,系统几乎不响应。 2.对ORACLE 10g进行监控: 2.1首先打开监控开关: exec dbms_monitor.serv_mod_act_trace_enable (service_name=>''); 在oracle安装目录\product\10.2.0\admin\gsp\udump目录下每个session形成.trc文件。 2.2通过tkprof进行分析: 根据日期选择相应的.trc文件,在命令行下通过tkprof进行分析: tkprof servname_ora_2336.trc utput=servname_ora_2336.txt SORT=(EXEELA, PRSELA, FCHELA) 形成结果文件servname_ora_2336.txt。 2.3查看分析结果文件: 发现存在大量的建临时表语句,耗用了大量的CPU资源,而且花费的时间很长。 create table myHelp4879f036d (Rowp int PRIMARY KEY,OID varchar(1000),Code varchar(1000),Name varchar(1026),ZJM varchar(100),Path varchar(40)) call count cpu elapsed disk query current rows ------- ------ -------- ---------- ---------- ---------- ---------- ---------- Parse 0 0.00 0.00 0 0 0 0 Execute 1 19.06 196.34 24 751455 1552 0 Fetch 0 0.00 0.00 0 0 0 0 ------- ------ -------- ---------- ---------- ---------- ---------- ---------- total 1 19.06 196.34 24 751455 1552 0

网站性能测试指标

通用指标(指Web应用服务器、数据库服务器必需测试项) Web服务器指标

数据库服务器性能指标 系统的瓶颈定义

稳定系统的资源状态 通俗理解: 日访问量 常用页面最大并发数

同时在线人数 访问相应时间 案例: 最近公司一个项目,是个门户网站,需要做性能测试,根据项目特点定出了主要测试项和测试方案: 一种是测试几个常用页面能接受的最大并发数(用户名参数化,设置集合点策略) 一种是测试服务器长时间压力下,用户能否正常操作(用户名参数化,迭代运行脚本) 一种则需要测试服务器能否接受10万用户同时在线操作,如果是用IIS做应用服务器的话,单台可承受的最大并发数不可能达到10万级,那就必须要使用集群,通过多台机器做负载均衡来实现;如果是用websphere之类的应用服务器的话,单台可承受的最大并发数可以达到10万级,但为性能考虑还是必须要使用集群,通过多台机器做负载均衡来实现;通常有1个简单的计算方式,1个连接产生1个session,每个session在服务器上有个内存空间大小的设置,在NT上是3M,那么10万并发就需要300G内存,当然实际使用中考虑其他程序也占用内存,所以准备的内存数量要求比这个还要多一些。还有10万个用户同时在线,跟10万个并发数是完全不同的2

个概念。这个楼上已经说了。但如何做这个转换将10万个同时在线用户转换成多少个并发数呢?这就必须要有大量的历史日志信息来 支撑了。系统日志需要有同时在线用户数量的日志信息,还需要有用户操作次数的日志信息,这2个数据的比例就是你同时在线用户转换到并发数的比例。另外根据经验统计,对于1个JAVA开发的WEB 系统(别的我没统计过,给不出数据),一般1台双CPU、2G内存的服务器上可支持的最大并发数不超过500个(这个状态下大部分操作都是超时报错而且服务器很容易宕机,其实没什么实际意义),可正常使用(单步非大数据量操作等待时间不超过20秒)的最大并发数不超过300个。假设你的10万同时在线用户转换的并发数是9000个,那么你最少需要这样的机器18台,建议不少于30台。当然,你要是买个大型服务器,里面装有200个CPU、256G的内存,千兆光纤带宽,就算是10万个并发用户,那速度,也绝对是嗖嗖的。 另外暴寒1下,光设置全部进入运行状态就需要接近6个小时。具体的可以拿1个系统来压一下看看,可能会出现以下情况: 1、服务器宕机; 2、客户端宕机; 3、从某个时间开始服务器拒绝请求,客户端上显示的全是错误; 4、勉强测试完成,但网络堵塞或测试结果显示时间非常长。假设客户端和服务器之间百兆带宽,百兆/10000=10K,那每个用户只

相关文档
最新文档