Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

服务器性能测试介绍

262 views

Published on

服务器性能/负载/压力测试介绍,比较与传统方式的区别,介绍平台的特点

Published in: Technology
  • Be the first to comment

  • Be the first to like this

服务器性能测试介绍

  1. 1. 服务器性能测试介绍 腾讯WeTest出品
  2. 2. CONTENTS 1 2压测原理 市场状况 解决方案 产品展示 4 3 PART 1 压测原理 PART 3 WeTest压力测试解决方案 PART 2 市场状况 PART 4 产品展示
  3. 3. 基本概念 CONTENTS 压测理论 市场状况 解决方案 产品展示 什么是性能 性能是用来描述机械、器材、物品等所具有的速度、效率和能力的综合评价。(辞海) 什么是性能测试 通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试 性能测试包含哪些方面? 压力测试、负载测试、并发测试、容量测试、配置测试、基准测试等。 应用系统性能指标主要有哪些? 响应时间、吞吐量、服务器资源利用情况 性能测试的重要性,为什么要进行性能测试? • 评估系统的能力 • 识别系统中的弱点 • 系统调优 • 验证可伸缩性和可靠性
  4. 4. 负载测试 CONTENTS 压测理论 市场状况 解决方案 产品展示 负载测试  通过测试系统在资源超负荷情况下的表现,以发现设计上的错误或验证系统的负载能力。  特点: • 主要目的是找到系统中所存在的性能问题 • 需要在给定的测试环境下进行,通常也需要考虑被测试系统的业务压力和典型场景、使 得测试结果具有业务上的意义。 • 一般用来了解系统的性能容量,或是配合性能调优来使用。
  5. 5. 压力测试 CONTENTS 压测理论 市场状况 解决方案 产品展示 压力测试(强度测试)  模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件, 来测试被测系统的性能、可靠性、稳定性等  特点: • 主要目的是检查系统处于压力性能下时,应用的表现。 • 一般通过模拟负载等方法,使得系统的资源使用达到较高的水平。 • 一般用于测试系统的稳定性。 • 让系统处在很大强度的压力之下,看系统是否稳定,哪里会出问题。
  6. 6. 并发测试 CONTENTS 压测理论 市场状况 解决方案 产品展示 并发测试  并发测试方法通过模拟用户并发访问,测试多用户并发访问同一个应用、同一个模块或者数据 记录时是否存在隐藏的并发问题,如内存泄漏、线程锁、资源争用问题  特点: • 主要目的是发现系统中可能隐藏的并发访问时的问题 • 主要关注系统可能存在的并发问题,例如系统中的内存泄漏、线程锁和资源争用方面的 问题。 • 这种性能测试方法可以在开发的各个阶段使用需要相关的测试工具的配合和支持 • 也就是说,这种测试关注点是多个用户同时(并发)对一个模块或操作进行加压。
  7. 7. 可靠性测试 CONTENTS 压测理论 市场状况 解决方案 产品展示 可靠性测试(稳定性测试)  在给系统加载一定业务压力的情况下,使系统运行一段时间,以此检测系统是否稳定。  特点: • 这种性能测试方法的主要目的是验证是否支持长期稳定的运行。 • 这种性能测试方法需要在压力下持续一段时间的运行。(2~3天) • 测试过程中需要关注系统的运行状况。 • 也就是说,这种测试的关注点是“稳定”,不需要给系统太大的压力,只要系统能够长 期处于一个稳定的状态。
  8. 8. 功能测试 V.S. 性能测试 CONTENTS 压测理论 市场状况 解决方案 产品展示 功能测试 性能测试 业务逻辑是否能被正确的执行? (黑盒测试)功能性 举例目标 2000人持续操作较长时间 ,系统会出现崩溃吗? 稳定性 并发时系统的响应时间 可接受吗? 压力 高负载下,业务逻辑仍 可以正常工作吗? 负载 举例目标
  9. 9. 手工做性能测试是非常困难的 测试者 压力源 被测应用 分析? 所有人听令, 再按一次登录 ,3,2,1 Server Database 协调者 有足够的资源吗? •人 •机器 怎么让大家做到并发? 怎么收集和分析数据? 怎么保证测试的重复性?如何回归? CONTENTS 压测理论 市场状况 解决方案 产品展示
  10. 10. 性能测试自动化 • 用虚拟机器人模拟真实用户 • 在机器上创建海量机器人 • 控制程序管理机器人行为 • 程序收集性能指标数据 • 通过脚本实现回归测试 被测应用 Server Database 压力源 Vuser Host 分析控制系统 CONTENTS 压测理论 市场状况 解决方案 产品展示
  11. 11. 请求访问数量(VU 或Request Thread) 即发送请求压力的数量 CPU利用率(CPU Usage) CPU利用率分为用户态,系统态和空闲态,分别表示CPU处于用户态执行的时间,系统 内核执行的时间,和空闲系统进程执行的时间。平时所说的CPU利用率是指:CPU执行 非系统空闲进程的时间/ CPU总的执行时间。 事务平均响应时间(Average Transaction Response Time) 每一事务执行所用的平均时间,通过它可以分析测试场景运行期间应用系统的性能走向 CONTENTS 压测理论 市场状况 解决方案 产品展示 性能测试名词 吞吐率(Throughput) 是场景运行过程中服务器每秒的吞吐量。其度量单位是字节,表示每个请求连接在任何 给定的每一秒从服务器获得的数据量。 事务(Transactions) 事务是用户某一步或几步操作的集合 场景(Scenario) 性能测试过程中为了模拟真实用户的业务处理过程的一系列动作的集合。 每秒处理事务(Transaction per Second) 每秒系统处理事务(通过、失败以及停止)的数量。通过它可以确定系统在任何给定时 刻的时间事务负载。
  12. 12. 性能测试指标 CONTENTS 压测理论 市场状况 解决方案 产品展示  性能指标:  每秒处理事务  事务平均响应时间  最大响应时间  最少响应时间  90%响应时间  最大并发数  压力测试  压力强度  长时间正常运行的最大负载  压力持续时间  并发数  负载测试  最大负载  请求出错率  系统性能监控  CPU负载  内存使用率  网络I/O  磁盘I/O
  13. 13. 常规性能测试步骤 CONTENTS 压测理论 市场状况 解决方案 产品展示 制定目标 和分析系 统 • 确认需求 • 系统构成 • 业务逻辑 选择测试 度量的方 法 • 规范 • 流程 • 对比标准 制定评估 标准 • 分析模型(预测) • 模仿(模拟真实用户) • 基准(结果比对) 设计测试 用例 • 基于业务流程设计用例 • 覆盖单场景、混合场景 运行测试 用例 • 设置场景并执行 分析测试 结果 • 收集相关信息 • 数据统计分析 • 找出性能瓶颈
  14. 14. CONTENTS 压测理论 市场状况 解决方案 产品展示 上线服务器遇到压力问题 延迟3s以上,玩家感受很差 服务器飙红 登录排队 服务器宕机 玩家流失 留存率下降 收入大幅减少 失去发行、渠道、玩家的信任 服务器承压是收入来源的保证
  15. 15. 压测工具和方法  开源:  AB  Jmeter  商业工具  Loadrunner  QALoad  SilkPerformer  Rational Performance Tester  自主研发(自用)  腾讯、金山等游戏公司  阿里、美团等  真人压测  找渠道压  找工会压 CONTENTS 压测理论 市场状况 解决方案 产品展示
  16. 16. 压测工具和方法比较 开源工具 商业工具 自研工具 真人压测 优点 轻量灵活 免费 功能强大 稳定 可靠 贴近需求 结合测试工 具体系 近似玩家 兼测游戏性 缺点 学习成本高 不能满足需求 功能简陋 购买成本极高 没有针对游戏 的工具 开发成本高 稳定性和可 靠性低 单价贵 测试不可重复 并发量上不去 CONTENTS 压测理论 市场状况 解决方案 产品展示
  17. 17. 市场状况 随着市场的蓬勃发展,越来越多的游戏作品发布到应用市场,游戏玩家的口味也变得越来越挑剔, 对于CP来说,从产品的研发到上线运营,用户体验已经成为核心成功要素,才有可能在同质化严 重的市场竞争中脱颖而出,实现高转化率、低流失率和高ARPU收益。 无论是端游代表作《英雄联盟》、《穿越火线》、《魔兽世界》,还是手游吸金大作《皇室战争》、 《天天酷跑》、《刀塔传奇》,优异的应用性能是良好用户体验的坚实基础,而服务器响应缓慢、 卡顿、崩溃的游戏,即便设计再精美也无法留住用户的心。 同时,发行、渠道对服务器承压情况越来越重视,很多会要求CP提供压测报告作为依据 目前市场上没有针对游戏的压力测试工具,无论是开源还是商业软件都不能很好的满足游戏的专项 测试需求,与此同时受限于开发周期短以及人力的问题,中小型CP往往采取编写模拟机器人进行 简单的压测,测试的覆盖面窄,造成潜伏的问题遗漏到线上。 同样是百万级的游戏,有的公司需要上千台服务器,而有的公司只要几百台服务器,巨大的服务器 采购运维成本差异皆因各家公司做压测乃至性能调优的能力参差不齐。 CONTENTS 压测理论 市场状况 解决方案 产品展示
  18. 18. WeTest服务器压力测试 CONTENTS 压测理论 市场状况 解决方案 产品展示
  19. 19. WeTest压测解决方案: 助力关键业务性能指标提升 性能测试能力培养体系 教程 • 社区• 培训 • 沙龙 • 公开课 • 问答 支持代码开发 实现复杂场景 企业级性能管理平台 URL极速直压 高级分析和报告测试管理&执行资源智能管理 专家优化建议 WeTest在线压测系统  游戏(手游、端游、页游)  移动应用  网站(Web、H5 URL)  API 支持
  20. 20. 1 2 3 WeTest压测:功能特性 亿级并发场景 真实模拟玩家的访问行为 实时统计报表 精准反馈服务器在压力下的表现 专家级性能优化建议 洞察性能瓶颈所在 CONTENTS 压测理论 市场状况 解决方案 产品展示
  21. 21. 高并发,1W-100W用户,按需拉起,匹配您的业务需求 兼容所有通信协议,包括常见标准协议和自定义协议; 脚本驱动,定制自由度高,可完美模拟任意游戏逻辑; 完整且精确的数据输出,如PCU,性能瓶颈可定位到函数级别 WeTest压测详细技术优势 CONTENTS 压测理论 市场状况 解决方案 产品展示
  22. 22. WeTest压测支持的性能测试方法 接口测试: 接口的性能评估,给整体做参考。 场景测试: 登入场景,战斗场景。游戏关键性的业务测试 容量测试: 用户评估服务器可承载能力,给上线需要的硬件数量配备做参考 稳定性测试: 用于验证服务器长期运行的状况 调优: 性能瓶颈分析,定位。 系统优化 CONTENTS 压测理论 市场状况 解决方案 产品展示
  23. 23. 先决条件 •性能测试需求(填写需求 文档) 任务 •理解业务场景(系统架构/ 业务流程) •确认测试范围 •接口 •场景 •容量 •稳定性 •商讨测试目标 •客户端体验 输出 •测试方案和策略 先决条件 •稳定的测试环境 任务 •设计测试场景 •准备测试数据并参数化 •代码开发 •部署服务器性能监测工具 预测试 输出 •测试场景和用例 •压测代码 先决条件 •测试场景和用例 •压测代码 •稳定的测试环境 任务 •压测执行 •监控系统/应用 输出 •日志 •性能指标数据 先决条件 •测试方案 •测试结果(元数据) •系统指标/日志 任务 •分析测试结果 •编写测试报告 •整合测试报告 •性能缺陷 输出 •测试报告 •性能优化建议 先决条件 •测试方案 •测试报告 •稳定的测试环境 •按需引入开发、架构、测 试、DBA、运维 任务 •诊断分析,找出性能瓶颈 并提供优化建议 •优化 •回归测试 输出 •分析诊断报告(整合入测试 报告) •诊断记录 初始化 设计&开发 执行&监控 分析&报告 调优& 回归 未达标 WeTest压测接入流程
  24. 24. WeTest压测应用案例 压测帮助手游服务器在各个场景的最高同时在线用户数(下文PCU)平均提升200% ; 代理游戏的关键操作的每秒并发请求数提升5倍; 天天酷跑 PCU提升2倍,达3W,腾讯所有手游同时 在线最高且无性能问题 CF手游,核心操作TPS提升13倍,注册TPS提升近100倍 CONTENTS 压测理论 市场状况 解决方案 产品展示
  25. 25. • 服务器重大性能问题 发现在上线前,而不 是由用户去发现 • 优化容量,降低成本 第一个版本上线 • 低成本甚至零成本 的回归测试 回归测试 • 上线影响服务器架构的功能 时,如“天天酷跑世界PVP” 和“我叫MT2 大区跨服对战” 等重大更新 重要版本迭代 WeTest压测适用场景 CONTENTS 压测理论 市场状况 解决方案 产品展示
  26. 26. 2015年 Future 2016.01 2016.04 更多功能 尽请期待 开放简单模式 支持Web站点及APP应用直压,无需 编码 腾讯云、应用宝两大平台战略合作 对外限量开放预约体验 单月预约企业数突破1050+ 覆盖腾讯内部98%的自研及代理游戏 CONTENTS 压测理论 市场状况 解决方案 产品展示 WeTest压测时间线
  27. 27. CONTENTS 压测理论 市场状况 解决方案 产品展示 WeTest服务器压力测试 简单模式 适用于Web及APP URL、API直压 高级模式 适用于游戏 复杂业务逻辑代码实现
  28. 28. 简单模式示例 压网站(www.baidu.com) CONTENTS 用户困扰 市场状况 解决方案 产品展示 1.新建测试用例-压百度首页
  29. 29. 简单模式示例 压网站 CONTENTS 用户困扰 市场状况 解决方案 产品展示 2.运行测试,查看报告
  30. 30. 简单模式示例 压网站 CONTENTS 用户困扰 市场状况 解决方案 产品展示 2.运行测试,查看报告(续)
  31. 31. 高级模式示例 压游戏(Demo游戏,类星河战神) CONTENTS 用户困扰 市场状况 解决方案 产品展示 1.部署服务器监测工具
  32. 32. 高级模式示例 压游戏(Demo游戏,类星河战神) CONTENTS 用户困扰 市场状况 解决方案 产品展示 2.开发测试协议代码
  33. 33. 高级模式示例 压游戏(Demo游戏,类星河战神) CONTENTS 用户困扰 市场状况 解决方案 产品展示 3.编译和调试协议
  34. 34. 高级模式示例 压游戏(Demo游戏,类星河战神) CONTENTS 用户困扰 市场状况 解决方案 产品展示 4.新建测试用例
  35. 35. 高级模式示例 压游戏(Demo游戏,类星河战神) CONTENTS 用户困扰 市场状况 解决方案 产品展示 5.获取诊断报告
  36. 36. 高级模式示例 压游戏(Demo游戏,类星河战神) CONTENTS 用户困扰 市场状况 解决方案 产品展示 5.获取诊断报告(续)
  37. 37. 高级模式示例 压游戏(Demo游戏,类星河战神) CONTENTS 用户困扰 市场状况 解决方案 产品展示 5.获取诊断报告(续)
  38. 38. 报告示例 CONTENTS 用户困扰 市场状况 解决方案 产品展示 除简单模式及高级模式展示的性能指标,更多数据指 标图表等您亲启
  39. 39. 腾讯质量开放平台 请访问我们的产品首页:http://wetest.qq.com/gaps

×