WEB接口压力测试20131.ppt

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
WEB接口压力测试理论简述 实战中积累,不断学习 想过很多内容,压测的开源工具有很多,但我觉得web接口压测的思路和方法才是“渔”。所以本节课重点,从实例中讲解: 什么是压测?为什么压测? PV和TPS的概念以及换算方法? 得到需求,如何开展压测? 好用的工具,依然低调。 这节课,我们讲什么 网络设备 客户终端(APP或桌面产品) WEB页面加载 WEB后台接口 工具: Avalanche、smartbit,IXIA Loadrunner HTTPLOAD 其他开源或开发 “市面上”的压力测试 压力测试 压测的指标,通常有新建连接数、并发连接数、新建事务数等。 压力测试,会模拟出大量的请求,观察服务器各种异常的情况: 服务器响应变慢; 返回4xx或5xx的错误; 服务器无响应 服务器重启、服务crash等; 压上了,我们关注什么,真的会有问题吗? PV,是从服务器角度考虑,打开一个页面作为一个PV,一个PV可以包括多个接口的调用;用户访问(会话建立期间uid),作为一个UV;1 UV = n PV(n=1); TPS(每秒事务数),是从客户端角度考虑,客户端每个请求,作为一个事务数; 1 TPS = 1 PV; 为什么要转换?因为我们的工具打出来的就是TPS。 Tips: 需求提到的PV,如果是页面的,需要换算出被测接口的“PV”是多少,用于TPS的换算。 PV与TPS 先看这张图 举例:日PV=1000万 PV测试模型 我们接触过的需求,通常有两种情况: 按照日PV进行压测; 按照10小时处理1000万PV进行压测; 两种情况下,转换的公式不同: 前提:我们认为 1 TPS = 1 PV 第一种情况 TPS = 1.92*日PV/(24*60*60) 第二种情况 TPS = 总PV/(10*60*60) 注:这里TPS是总TPS。 从PV转换为TPS 场景1 需求:奥运个人中心的压力测试,日PV 5000万,9个接口 步骤: 1个PV对应到各接口的“PV”是多少? 经过确认,打开页面,平均每个接口调用一次,所以各接口的“PV”等于需求PV。 画出网络拓扑,圈出测试场景,换算该场景下,每台机器的TPS数量; 工具准备; 制定测试策略; 指标监测; 光说不练非好汉,实战! 场景2 需求:奥运竞猜tips的压力测试,20分钟内处理300万,2个接口 我们的工具C++所写,由python生成测试数据、监控指标和分析结果。 以下为工具目录 聊聊工具 通过socket建立连接、进行数据传送(UDP/TCP) 从配置文件开始解读 Press_file 测试数据文件 注:关于登录态的支持 执行工具 ./pressure 日志输出文件 结果分析: 服务器端资源占用情况数据: 包括CPU、内存、流量、连接数、负载、磁盘占用、IO读写等; 客户端log日志,观察4xx、5xx的问题 连接超时率、连接丢失率 通过工具log和服务器端的apache日志,对比连接数目。 性能测试 a点到b点之间的系统性能 定义:狭义的性能测试,是指以性能预期目标为前提,对系统不断施加压力,验证系统在资源可接受范围内,是否能达到性能预期。 运用场景:此类型的测试目前最常见。每个项目的性能点,都需要做性能测试。 负载测试 b点的系统性能 定义:狭义的负载测试,是指对系统不断地增加压力或增加一定压力下的持续时间,直到系统的某项或多项性能指标达到安全临界值,例如某种资源已经达到饱和状态等。 运用场景:此类型的测试目前运用得比较少。一般情况下,是以服务器资源安全临界值为界限的测试。如果要模拟某个应用在指定服务器上最大且安全的负载量,则属于负载测试。 压力测试 b点到d点之间 定义:狭义的压力测试,是指超过安全负载的情况下,对系统不断施加压力,是通过确定一个系统的瓶颈或不能接收用户请求的性能点,来获得系统能提供的最大服务级别的测试。 运用场景:此类型的测试目前运用得比较少。但对于大型的共享中心或者核心的应用,也会用到。 稳定性测试 a点到b点之间 定义:狭义的稳定性测试,是指被测试系统在特定硬件、软件、网络环境条件下,给系统加载一定业务压力,使系统运行一段较长时间,以此检测系统是否稳定,一般稳定性测试时间为n*12小时。 运用场景:此类型的测试目前也最常见,针对需要长时间稳定运行的性能点,需要执行稳定性测试。往往在一个项目的性能测试过程中,会划分出优先级较高的性能点,做稳定性测试。例如:宝贝详情页面等等。 * 性能测试 a点到b点之间的系统性能 定义:狭义的性能测试,是指以性能预期目标为前提,对系统不断施加压力,验证系统在资源可接受范围内,是否能达到性能预期。 运用场景:此类型的测试目前

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档