谁弄过系统并发测试方案(压力)测试方案

君,已阅读到文档的结尾了呢~~
系统压力测试方案,软件系统测试方案,网站压力测试方案,系统压力测试工具,压力测试系统的设计,系统压力测试,系统测试方案,压力测试方案,视频监控系统测试方案,系统集成测试方案
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
系统压力测试方案
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口压力测试方案_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
压力测试方案
阅读已结束,下载文档到电脑
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩6页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢apache-ab并发负载压力测试 - 简书
apache-ab并发负载压力测试
apache ab(Apache Bench)性能测试工具,这是[apache]免费自带的性能测试工具,就在apache的bin目录下,它能模拟多个并发请求,也就是说它主要是用来测试你的apache每秒能处理多少请求的。
Paste_Image.png
格式:ab [options] [参数介绍
-A auth-username:password
对服务器提供BASIC认证信任。 用户名和密码由一个:隔开,并以base64编码形式发送。 无论服务器是否需要(即, 是否发送了401认证需求代码),此字符串都会被发送。
-c concurrency
一次产生的请求个数。默认是一次一个。
-C cookie-name=value
对请求附加一个Cookie:行。 其典型形式是name=value的一个参数对。 此参数可以重复。
不显示"percentage served within XX [ms] table"的消息(为以前的版本提供支持)。
-e csv-file
产生一个以逗号分隔的(CSV)文件, 其中包含了处理每个相应百分比的请求所需要(从1%到100%)的相应百分比的(以微妙为单位)时间。 由于这种格式已经“二进制化”,所以比'gnuplot'格式更有用。
-g gnuplot-file
把所有测试结果写入一个'gnuplot'或者TSV (以Tab分隔的)文件。 此文件可以方便地导入到Gnuplot, IDL, Mathematica, Igor甚至Excel中。 其中的第一行为标题。
-h 显示使用方法。
-H custom-header 对请求附加额外的头信息。
此参数的典型形式是一个有效的头信息行,其中包含了以冒号分隔的字段和值的对 (如, "Accept-Encoding: zip/8bit").
-i 执行HEAD请求,而不是GET。
-k 启用HTTP KeepAlive功能
在一个HTTP会话中执行多个请求。 默认时,不启用KeepAlive功能. -n requests 在测试会话中所执行的请求个数。 默认时,仅执行一个请求,但通常其结果不具有代表意义。
-p POST-file包含了需要POST的数据的文件.
-P proxy-auth-username:password
对一个中转代理提供BASIC认证信任。 用户名和密码由一个:隔开,并以base64编码形式发送。 无论服务器是否需要(即, 是否发送了401认证需求代码),此字符串都会被发送。
如果处理的请求数大于150, ab每处理大约10%或者100个请求时,会在stderr输出一个进度计数。 此-q标记可以抑制这些信息。
用于编译中(ab -h会显示相关信息)使用了SSL的受保护的https, 而不是http协议的时候。此功能是实验性的,也是很简陋的。最好不要用。
-S 不显示中值和标准背离值
而且在均值和中值为标准背离值的1到2倍时,也不显示警告或出错信息。 默认时,会显示 最小值/均值/最大值等数值。(为以前的版本提供支持).
-t timelimit 测试所进行的最大秒数。
其内部隐含值是-n 50000。 它可以使对服务器的测试限制在一个固定的总时间以内。默认时,没有时间限制。
-T content-type POST数据所使用的Content-type头信息。
-v verbosity 设置显示信息的详细程度
4或更大值会显示头信息, 3或更大值可以显示响应代码(404, 200等), 2或更大值可以显示警告和其他信息。
-V 显示版本号并退出。
-w 以HTML表的格式输出结果。默认时,它是白色背景的两列宽度的一张表。
-x &table&-attributes 设置&table&属性的字符串。 此属性被填入&table 这里 &.
-X proxy[:port] 对请求使用代理服务器。
-y &tr&-attributes 设置&tr&属性的字符串.
-z &td&-attributes 设置&td&属性的字符串
这么多参数,其实你大可不必担心,最基本的关心两个选项 -c -n实例
ab -n 3000 -c 3000
c 100 即:每次并发3000 个
n 10000 即: 共发送3000 个请求
ab -t 60 -c 100
在60秒内发请求,一次100个请求。
带参数的的请求
ab -t 60 -c 100 -T "application/x-www-form-urlencoded" p p.txt
p.txt 是和ab.exe在一个目录 p.txt 中可以写参数,如
p=wdp&fq=78
要注意编码问题
参数中的三种形式
application/x-www-form-urlencoded (默认值)
就是设置表单传输的编码,典型的post请求  
multipart/form-data.
用来指定传输数据的特殊类型的,主要就是我们上传的非文本的内容,比如图片,mp3,文件等等
text/plain . 是纯文本传输的意思结果分析
Paste_Image.png
Paste_Image.png
结果参数解释:
This is ApacheBench, Version 2.3
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking 192.168.80.157 (be patient)
Completed 400 requests
Completed 800 requests
Completed 1200 requests
Completed 1600 requests
Completed 2000 requests
Completed 2400 requests
Completed 2800 requests
Completed 3200 requests
Completed 3600 requests
Completed 4000 requests
Finished 4000 requests
Server Software: Apache/2.2.15
Server Hostname: 192.168.80.157
Server Port: 80
Document Path: /phpinfo.php
#测试的页面
Document Length: 50797 bytes
Concurrency Level: 1000
#测试的并发数
Time taken for tests: 11.846 seconds
#整个测试持续的时间
Complete requests: 4000
#完成的请求数量
Failed requests: 0
#失败的请求数量
Write errors: 0
Total transferred:
#整个过程中的网络传输量
HTML transferred:
#整个过程中的HTML内容传输量
Requests per second: 337.67 [#/sec] (mean)
#最重要的指标之一,相当于LR中的每秒事务数,后面括号中的mean表示这是一个平均值
Time per request:
[ms] (mean)
#最重要的指标之二,相当于LR中的平均事务响应时间,后面括号中的mean表示这是一个平均值
Time per request: 2.961 [ms] (mean, across all concurrent requests)
#每个连接请求实际运行时间的平均值
Transfer rate: 16866.07 [Kbytes/sec] received
#平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 483
Processing: 2 556
Waiting: 1 515
Total: 139
#网络上消耗的时间的分解,各项数据的具体算法还不是很清楚
Percentage of the requests served within a certain time (ms)
100% 11843 (longest request)
#整个场景中所有请求的响应情况。在场景中每个请求都有一个响应时间,其中50%的用户响应时间小于275毫秒,66%的用户响应时间小于298毫秒,最大的响应时间小于11843毫秒。对于并发请求,cpu实际上并不是同时处理的,而是按照每个请求获得的时间片逐个轮转处理的,所以基本上第一个Time per request时间约等于第二个Time per request时间乘以并发请求数。
ab使用的一些问题
ab命令在一般系统上面做测试时候,一般并发不能超过1024个,其实是因为因为系统限制每个进程打开的最大文件数为1024,可以用ulimit -a来查看
-n 可以指定最大请求数,但是不能超过50000个
当n&=2 时,可以显示发送的http请求头,和响应的http头及内容,压力测试时不要这么做
在做压力测试的时候,一般情况下压力测试客户端接收到的数据量一定会远大于发送出去的数据量
一个测试工程师的奋斗ERP压力测试方案
作者:PConline企业频道&
责任编辑:heyaorong&
        本次测试的意义  鉴于国际上流行的TPC和SPEC基准测试基本上是极端软、硬件环境下的测试,对中国中小型用户的实际参考价值不大。国内首次第三方公开ERP压力测试的目的就是尽量模拟中小型商业企业真实的业务需求和典型的硬件支撑平台,为中小型用户采购软、硬件环境提供高参考价值的测试数据。        测试平台  本次测试所选择的测试平台是时下各企业已经广泛使用的有代表性的软、硬件系统。力求所得测试结果能贴近企业实际的应用环境和业务需求。&&& 浪潮通软myGS PS ERP 软件在国内中小企业占有较高市场分额,是中小企业典型的应用系统,微软SQL Server 2005在国内也保持了最高的装机量。因此选择这两个平台作为测试软件。  测试拓扑  由于浪潮通软myGS PS是C/S结构,其实际部署为客户端安装myGS PS 9.1,服务器端安装SQL Server 2005 数据库。因此测试拓扑也为两层,在客户机上安装Loadrunner虚拟用户操作,服务器端安装64位SQL Server 2005 SP2。&&& 考虑到目前国内中小企业的应用类型,我们选用了从低到高的多套硬件平台。处理器分别采用1路到4路的四核CPU,内存采用1G到32G的多种配置。    测试拓扑图  系统平台Microsoft Windows Server 2003 Enterprise x64 Edition Microsoft Windows Server 2003 Enterprise& Edition(32Bit)测试工具:      测试模块  本次测试的模块为浪潮ERP PS供应链流程,包括:凭证制单凭证记帐科目余额查询采购入库单记帐库存入库单记帐全月加权成本计算库存辅助管理余额查询销售提货单制作客户欠款余额查询物流模块的流程混合测试帐务模块的流程混合测试            浪潮ERP供应链流程  1-9项目是供应链中各单功能模块的压力测试,而10、11项目是从定单下达、采购加工、库存、提货出库到回收货款等一系列相关物流以及帐务的ERP流程压力测试,测试的宗旨是力求能真实模拟企业日常业务流程,这样的测试结果会更有参考价值()。  本次测试结果如何衡量  测试的结果将会以下面几个指标呈现给各位读者。  1、并发用户数  “并发负载”是ERP系统所能承受压力的直接体现,当到达某个并发极限负载级别之后,响应时间将会急剧的增加。一个性能比较好的应用系统,当并发负载从0逐渐增加时,例如,1个、5个、10个、15个、20个、25个.....在初始增加阶段,响应时间应该增加的不明显,如果当到达极限级别,例如500个、1000个的时候,可能会由于某种资源到达了瓶颈、或者程序的某个地方到达了瓶颈,从此之后,随着负载的继续增加,响应时间将急剧上升......  ERP系统的并发数是目前中小企业用户最关心的指标,也是本次测试结果的主要参考数据。  2、响应时间     “响应时间”包括“最大响应时间”和“平均响应时间”,是可以判断一个被测应用系统是否存在性能瓶颈的最直观的要素。“响应时间”与“并发负载”存在密切的关系。例如,在执行完性能测试后,发现某个交易的“平均响应时间”为8秒,超过了预先确定下来的性能指标“该交易的性能指标为平均响应时间要小于等于3秒”。此时,就可以认为被测应用系统存在性能瓶颈了,要利用一定的手段去探查被测应用系统中哪个地方引起了系统的处理效率低以及低的原因了。  3、TPS(Transactions Per Second)  TPS是指系统的每秒事务处理能力,也是判断一个系统性能的主要指标,尤其是象ERP和交易平台这样的流程类系统。&&& 当系统没有达到性能瓶颈时,TPS随着负载的增加呈近似线性增长,当接近性能瓶颈时出现拐点。如果系统健壮性较好,在到达性能瓶颈后,TPS基本保持水平,不会再随着负载的增加而有显著增长;而如果系统存在比较严重的性能问题,当到达性能瓶颈后,TPS则会出现明显的下降趋势。  这里需要说明的是:  TPS可以有多种衡量单位,在进行性能测试的业务模型分析时使用,以税务系统为例:  (1)可以用“系统每个月要处理10万用户的业务操作”,这里的TPS用企业数/月来衡量  (2)也可以用“系统在第七天的8个小时内要处理4万用户的业务操作”,这里的TPS用企业数/天来衡量  (3)也可以用“系统在第七天的10点到11点之间要处理1.2万用户的3种缴税交易操作,即3.6万次缴税交易操作”,这里的TPS用交易数/小时来衡量  (4)也可以用“系统在第七天的10点到11点之间要处理1.2万用户的3种缴税交易操作,即3.6万次缴税交易操作,每次缴税交易要从客户端向服务器发送平均10次HTTP请求,即36万次HTTP请求操作”,这里的TPS用请求数/小时来衡量。  在本次测试,我们的Transactions就是测试各个模块项目全流程的一次完整动作,即是Loadrunner中所定义的一个完整执行动作。  本次ERP压力测试以用户最关心的最大并发数作为主要测试指标,同时平衡每秒事务数TPS和平均响应时间,给用户提供最贴近实际使用环境的数据作为构建企业数据中心软、硬件平台的最佳参考。希望通过这次ERP的压力测试,让国内广大的中小企业从中找到适合自己信息化建设的软硬件平台,同时也为未来的业务发展奠定可预见的坚实信息基础。
4599元包邮包税(需用券)
2598元包邮
108元包邮(定金10元、11.11付尾款)
669美元约¥4428(需用码)
949元包邮(需用码)
12699元包邮
企业频道热门文章新一代柜面系统远程授权压力测试测试脚本方案分析 新一代柜面系统远程授权压力测试 测试脚本方案分析 1 测试背景 远程授权是新一代综合柜面系统新增的一项重要功能,实现了业务操作和授权管理前后台的彻底分离,最终达到业务操作专业化、风险控制严谨化、效率最大化、人员配置最优化的目的。 在远程授权业务中,前台柜员将交易业务信息、交易单据影像提交到授权中心进行远程授权时,前端交易界面锁定,客户需要等待。而全行每天有大量的账务和非账务交易需要进行远程授权,因此系统上线后在多用户并发情况下,系统是否能承受高峰时段的交易压力、远程授权交易的响应时间是否满足,是影响到客户满意度的重要问题。因此,在远程授权在全行全面推广前,需要在测试环境中执行压力测试,了解系统处理远程授权交易的总体性能是否满足要求。 2 压力模型 本次远程授权系统压力测试的测试范围包括本项目新增的远程授权系统及存放影像数据的内容管理平台(影像缓存服务器),由压力测试工具模拟网点柜面发起并发授权交易、模拟授权中心人员完成授权。压力测试模型示意图如下: 第 1 页 共 7 页 新一代柜面系统远程授权压力测试测试脚本方案分析 LoadRunner发起多并发授权交易LoadRunner模拟授权中心完成授权压力测试范围 其中:柜面客户端及授权中心客户端(ABC)与远程授权服务器、影像缓存服务器之间均采用Socket通讯协议进行通讯。 3 测试脚本方案分析 远程授权交易通过柜面客户端及授权中心客户端(ABC)进行交易发起和响应,通过前段时间在新一代柜面系统ABS的性能测试过程中对性能测试脚本的分析,远程授权压力测试的测试脚本可采用如下两种方案: ? Java协议方案 ? Socket协议方案 3.1 Java协议方案 新一代柜面系统开发组提供了一个测试用的Jar包(cn.com.agree.ab.testscripts.main.jar),将图形前端ABC和后台应用服务器ABS之间的通讯过程进行了封装,通过解析描述型的交易数据文件(T0210.abtrace)向后台提交交易,Java协议性能测试脚本(个人客户信息建立第 2 页 共 7 页 新一代柜面系统远程授权压力测试测试脚本方案分析 0210交易)示例如下: import lrapi. .agree.ab.testscripts.M public class Actions {
public int init() {
Thread.currentThread().setContextClassLoader(ClassLoader.getSystemClassLoader());
m = new Main(\
}catch(Exception e){
return -1;
}//end of init
public int action() {
}//end of action
public int end() {
}//end of end } 交易数据文件(T0210.abtrace)内容如下: 创建交易,交易:trade.t,tradeCreate,trade.t,\#__交易名称,0210 个人客户信息建立 #_TradeCode,0210\10 个人客户信息建立\d_172_40_2_100\BC_.agree.ab.custom.agree.client.Exterior\发起初始化,tradeInit 发起事件,组件:text_姓名,事件:OnBlur,onEvent,text_姓名,OnBlur,\姓名,text,高儿\发起事件,组件:combo_证件种类,事件:OnBlur,onEvent,combo_证件种类,OnBlur,\证件种类,text,5-士兵证\发起事件,组件:doubleinputtext_证件号码,事件:OnFocus,onEvent,doubleinputtext_证件号码,OnFocus,\证件号码\发起事件,组件:doubleinputtext_证件号码,事件:OnBlur,onEvent,doubleinputtext_证件号码,OnBlur,\证件号码,text,1111\第 3 页 共 7 页 新一代柜面系统远程授权压力测试测试脚本方案分析 发起事件,组件:datetext_证件有效期,事件:OnBlur,onEvent,datetext_证件有效期,OnBlur,\证件有效期,text,\发起事件,组件:text_发证机关,事件:OnBlur,onEvent,text_发证机关,OnBlur,\发证机关,text,北京市西城区\发起事件,组件:combo_国别代码,事件:OnBlur,onEvent,combo_国别代码,OnBlur,\发起事件,组件:datetext_出生日期,事件:OnBlur,onEvent,datetext_出生日期,OnBlur,\出生日期,text,\发起事件,组件:combo_性别,事件:OnBlur,onEvent,combo_性别,OnBlur,\性别,text,0-男\发起事件,组件:text_单位邮编,事件:OnBlur,onEvent,text_单位邮编,OnBlur,\单位性质,text,01-政府机关\发起事件,组件:text_手机号码,事件:OnBlur,onEvent,text_手机号码,OnBlur,\行业代码,text,01-信息传输、计算机服务和软件业\职业代码,text,01-国家机关、党群组织、企事业单位的负责人\发起事件,组件:text_常住地址,事件:OnBlur,onEvent,text_常住地址,OnBlur,\常住地址,text,北京市西城区\发起事件,组件:text_固定电话,事件:OnBlur,onEvent,text_固定电话,OnBlur,\固定电话,text,\发起事件,组件:button_提交,事件:OnClick,onEvent,button_提交,OnClick,\提交\回应call内容,,1 回应callDevice内容,,, 回应callDevice内容,,, 回应callDevice内容,,, 发起事件,组件:button1_退出,事件:OnClick,onEvent,button1_退出,OnClick,\退出\关闭交易,closeTrade 使用此测试脚本方案有如下严重问题无法满足性能测试的要求: ? 无法实现交易数据的参数化 ? 脚本中只能定义各柜面交易执行全过程的长事务,无法对交易中各阶段进行分解分析(比如获取显示框架内容响应时间、页面控件响应时间、交易提交响应时间) ? 测试脚本中无法获取交易执行结果:交易提交后不返回响应特征码,从测试脚本中无法判断交易执行的情况,需要分析后台日志文件或数据库流水表分析交易是否成功(性能测试交易量巨大可能会引起大量的交易第 4 页 共 7 页 新一代柜面系统远程授权压力测试测试脚本方案分析 结果分析工作量) ? LoadRunner统计分析数据失真(因脚本中的失败交易也当成成功交易进行了统一分析) 要使用该脚本方案,须改写cn.com.agree.ab.testscripts.Main包,对其进行更为细致的封装,允许传入参数化数据、返回交易执行结果、对交易数据文件脚本进行分割(以形成更细致的事物进行分析)等。 3.2 Socket协议方案 由于ABC和ABS端通过Socket协议进行通讯,于是通过LoadRunner的Socket协议录制柜面前端向柜面系统应用服务器发起的柜面交易,Socket协议的性能测试脚本示例如下(个人客户信息建立0210交易): #include \Action() {
lrs_send(\
lrs_receive(\ /* 输入交易码 */
lrs_send(\
lrs_receive(\
lrs_send(\
lrs_receive(\
lrs_send(\
lrs_receive(\
lrs_send(\
lrs_receive(\
lrs_send(\
lrs_receive(\
lrs_send(\
lrs_receive(\
lrs_send(\
lrs_receive(\
lrs_send(\
lrs_receive(\ /* 输入客户信息 */
lrs_send(\
lrs_receive(\
。。。。。。 第 5 页 共 7 页

我要回帖

更多关于 fiddler并发压力测试 的文章

 

随机推荐