性能测试分享.pptVIP

  • 40
  • 0
  • 约1.45千字
  • 约 11页
  • 2019-11-18 发布于广东
  • 举报
目录 CONTENTS Confidential Proprietary Confidential Proprietary Confidential Proprietary Confidential Proprietary Thanks * 性能测试分享 卢浩然 为什么想要做性能测试 性能测试的目的 压测指标的确认 工具选择和场景设计 性能问题的定位以及其他 为什么想要做性能测试 以往经历过的因为性能问题导致的严重事故以及后果。 视频服务,未做性能测试,导致生产环境数据量过大拖垮服务器 签到服务,未做稳定性测试,未能及时识别逻辑死循环,导致一天后服务器内存爆炸。 IM服务,未做压力测试,客户量增加未能及时进行服务器扩容,生产服务器也没有做自动扩容,导致消息延时情况严重 考勤服务,在大数据测试不通过的情况下强行发版,导致客户大规模出现下载报表失败 系统需要高可用高并发 业务需要支撑一些高并发场景,例如秒杀活动,抢购等。 未来将接入大量数据。 性能测试的目的 不知道需求的情况下,系统性能摸底,评估系统的能力(性能测试) 验证系统性能是否支撑业务,验证系统可靠性,稳定性(稳定性测试,大数据测试) 挖掘系统瓶颈,识别系统的弱点。(负载测试,压力测试,大数据测试) 验证不同性能服务器下系统的性能表现,最好能输出性能曲线。(验证服务器扩容下能否支撑业务)(性能测试,可拓展性、配置测试) 性能测试的目的 性能测试:通过不同的压力场景,评估系统的能力。 负载测试:分析服务器,通过逐步增加并发数或其他数据(条件),验证服务器的瓶颈。 压力测试:在服务器高负载条件下,验证服务器的稳定性。甚至可以破坏性测试。 稳定性测试:持续很长时间内以一定的压力验证服务器的稳定性。 大数据测试:验证存在大量数据情况下服务器的表现(必备) 可拓展性、配置测试:验证不同服务器配置情况下服务器的表现。 压测指标的确认 jmeter中的一些指标: TPS/QPS:每秒请求数/每秒接收数 Average:平均响应时长 Error%:失败率 90line:响应时长从低到高,90%位置的响应时长 Std.Dev:方差,值越低越稳定。 本次测试关注的指标: mq消费速度,mongoDB数据写入失败率,脚本匹配平均时长,脚本匹配失败率,积分发放失败率,积分发放平均时长。 工具的选择和场景设计 工具选择: 1、jmeter 免费 满足目前所需要的全部功能:自定义sampler,场景设计,方便的beanshell 满足以后可能需要的功能:master-slaver,ip mock,报表生成。 丰富的使用经验 2、python 脚本 实现方便 工具的选择和场景设计 设计场景时的关注点: 测试脚本:一个脚本就是一个完整测试过程。 测试数据设计:测试数据的参数化,测试数据的数量,测试数据的结构 延时策略:两次请求的间隔,用于精准控制tps。 运行时长:不同的压测策略设置不同的运行时长。 加压力策略:压力上升梯度,用于压力测试和模拟真实场景 终止方式:同时退出或者间隔退出。 资源监控策略 性能问题的定位以及其他 略 目录 CONTENTS Confidential Proprietary Confidential Proprietary Confidential Proprietary Confidential Proprietary Thanks *

文档评论(0)

1亿VIP精品文档

相关文档