- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
压力测试说明
现金支付压力测试说明书
系统名称cashpay-load-testing项目负责人檀利(tanli@)作者檀利(tanli@)文档提交日期2014-02-20
No.版本号修改内容简介修改日期修改人10.0.1新建2014-02-15檀利系统设计目标与原则
尽可能的用更多的线程并行地执行对现金支付相关接口的请求,主要的接口有创建支付账户、创建充值交易和创建支付交易,通过对系统日志的分析获得各个接口的QPS、系统稳定性和交易接口的正确性等统计数据。
尽可能减少线程之间的并发操作;尽可能用内存来换取相对耗时操作的执行时间;尽可能少的调用方法以减少本地线程的执行时间;
系统概要设计
2.1线程池与任务线程
一个线程池可以管理很多任务线程的执行,任务线程负责对具体接口进行调用,其拥有对相关请求资源的一个完整实例,这样可以避免各个线程之间的并发操作。比如创建用户接口,每个线程都会被分配一个固定范围的Out Id,这样当所有线程一起并发执行时就不需要考虑线程并发从而降低系统效率的问题。
2.2任务
程序的一次执行就是运行一种类型的任务,如创建用户(接口queryUserByOutId)、创建充值交易(接口createCharge)或者创建支付交易(接口createTrade),它包含以下4种类型的字段信息,
图 Task的四种配置信息
如上图所示,一个任务中包含了如下几个方面的信息:
任务基本信息:任务名、待测接口
线程控制信息:线程是否是迅速增长,还是按照某种节奏增长,都可以通过修改这里面的参数来实现;
接口测试信息:具体的接口控制信息,如创建用户接口中控制创建的用户为普通用户还是商家,创建用户的起始Out Id;充值接口的初始用户ID;
全局控制信息:任务线程休眠时间,
其中各字段的含义如下表,
字段取值备注name任务名apiname待测接口isrampuptrue, false线程是否逐次增加interval大于0的整数递增间隔(单位:ms)rampup每次增加线程数looptimes循环次数poolcount线程池数量pooltype线程池类型sampletypebouncetime验证类型user_typeUSER, MERCHANT用户类型user_base_out_id10000用户接口测试的起始OutIdcharge_base_user_id充值接口测试的起始UserIDcharge_sourceself, others充值方(自己或者他人)charge_count订单数量(可用于充值接口或者交易接口的测试)trade_base_seller_id交易接口测试的起始卖家IDid_quantity待测ID的数量ismultinotifytrue, false充值交易中是否多次通知client_timeout客户端超时时间sleeptime线程两次操作的间隔时间valvetrue, false任务开关示例:
注:以下标记为蓝色的字段为相应的生效字段nameuser_query/name
apinamequeryUserByOutId/apiname
isrampuptrue/isrampup
fixedcount1000/fixedcount
interval100/interval
rampup10/rampup
looptimes10/looptimes
poolcount5/poolcount
pooltypecached/pooltype
sampletypebouncetime/sampletype
user_typeUSER/user_type
user_base_out_iuser_base_out_id
charge_base_user_id106542381/charge_base_user_id
charge_sourceself/charge_source
charge_count1000/charge_count
trade_base_seller_itrade_base_seller_id
id_quantity100000/id_quantity
ismultinotifyfalse/ismultinotify
client_timeout3000/client_timeout
sleeptime100/sleeptime
valvetrue/va
文档评论(0)