Dotcom-Monitor 的 LoadViewDynatrace 本质上是性能工程平台。两者都拥有出色的客户群,都是完全云原生的解决方案,并且根植于悠久的历史。本展示演示了这两种工具结合如何弥补性能工程链中的剩余漏洞。

我在本次展示中的主要步骤是:

  • 注册
    • Dynatrace SaaS 试用账户
    • dotcom-monitor LoadView SaaS 试用账户
  • 安装
    • AWS 服务器上的 EasyTravel 演示应用
    • AWS 服务器上的 LoadView 脚本工具 Easystep
  • 配置
    • AWS 服务器上的防火墙
    • AWS 服务器安全策略
    • Dynatrace 请求属性
  • 设置负载测试
    • 录制 EasyTravel 测试脚本
    • 设置负载测试场景并执行测试
  • 结果分析
    • 回顾 LoadView 端到端响应时间
    • 深入分析 Dynatrace 中的关联结果

关于此集成

LoadView 是一个基于 SaaS 的负载测试平台,配备了协议、无头或全浏览器的用户模拟技术。它支持超过40种设备的测试,如 IE、Chrome、Firefox 以及顶级移动设备如 iPhone、三星、诺基亚、黑莓等多种设备。

Dynatrace 是一款基于 SaaS 的监控解决方案,支持广泛的技术。其强大的 OneAgent 自动注入所有服务,捕获服务流程以及端用户、网络、中间件通过后端层的所有交互,并提供对实际瓶颈的洞察。

下图突出显示了两种解决方案之间的主要集成步骤。

dynatrace-and-loadview

本展示所用软件:

  • Dynatrace SaaS – 来自 Dynatrace 的监控平台
  • Dynatrace OneAgent – 来自 Dynatrace 的监控代理
  • EasyTravel – 来自 Dynatrace 的演示应用
  • LoadView – 来自 dotcom monitor 的负载测试平台
  • EveryStep – 来自 dotcom monitor 的脚本工具

EasyTravel

  1. 在 AWS 服务器上安装 EasyTravel
  2. EasyTravel 设置
  3. 启动 EasyTravel 演示应用
  4. 在测试服务器上为端口 8079 添加入站和出站 Windows 防火墙规则

在 AWS 服务器上为以下 IP 添加出站规则,以允许与 Dynatrace SaaS 后端通信:

  • 34.251.255.57
  • 34.250.133.68
  • 54.77.84.155

EasyTravel Setup

链接到我托管在 AWS 服务器上的 EasyTravel 演示应用:

  • https://35.166.197.76:8079/

将托管在 AWS 上的演示应用连接到 Dynatrace

使用以下文档进行设置:

  • https://help.dynatrace.com/infrastructure-monitoring/amazon-web-services/how-do-i-start-amazon-web-services-monitoring/

为 Amazon 账户创建基于密钥的访问:

  • 用户:dynatrace
  • AKID:…
  • 密钥访问密钥:…
  • 自定义策略:watch
  • 将 Amazon 账户连接到 Dynatrace

Dynatrace 配置

  1. 设置 loadtest 请求属性名称
  2. 进入 设置 / 服务器端服务监控
  3. 创建一个名为 loadtest 的新请求属性
  4. 点击 添加新数据源
  5. 将参数名称设置为 x-dynatrace
  6. 点击 保存

注意:属性名称和参数名称均使用小写字母

详细文档:
https://www.dynatrace.com/blog/request-attributes-simplify-request-searches-filtering/

DynaTrace Configuration

LoadView – 创建负载测试脚本

使用:EveryStep 脚本工具

  • 录制基于浏览器的脚本,点击演示应用 EasyTravel 各部分
  • 重播基于浏览器的脚本
  • 编辑负载测试脚本,在初始化 tab0 变量后添加以下代码段:Tab.SetRequestHeader(“loadtest”,”x-dynatrace”);

Load Testing Script

  • 执行 Every步骤 脚本多次加载测试脚本(单用户)
  • 将负载测试脚本上传到 LoadView 平台

创建负载测试场景

观察用户增长及端到端响应时间在运行期间的表现

执行计划

Dynatrace – 深度分析

应用过滤条件 loadtest 并获取相关请求

请求

打开服务流,了解通信模式

服务流

获取长时间运行请求列表

长时间运行请求

长时间运行请求的详细信息,找到问题点

问题点

全局视角,从这里开始性能分析

性能分析

用户操作

用户操作

优势

负载测试和性能监控是两颗冉冉升起的新星。组织已无法忽视不可靠的应用,因为客户掌握主导权,常常迅速将资金转投其他更可靠的网站。由于放弃率增加带来的负面财务影响以及对快速部署周期的不断增长需求,企业正在寻求摆脱这一性能困境的出路。

在早期开发阶段进行负载生成,可以让人们对端到端响应时间在多用户条件下的发展情况更有信心。测试人员常用负载注入来验证预发布阶段的非功能性需求。

性能监控提供了应用层如何处理其服务请求的洞察。开发人员和运维人员经常利用它来查找应用中的问题热点。将 LoadView 和 Dynatrace 结合使用有显著的好处:

  1. 在生命周期早期发现性能问题
  2. 找出性能问题的根本原因
  3. 减少重复执行的工作量
  4. 检查服务在真实生产负载条件下的表现
  5. 了解通信模式
  6. 验证硬件配置
  7. 使应用调优更轻松
  8. 降低成本,按使用的服务付费
  9. 不需要内部基础设施来支持性能工程活动

成功的公司将性能工程集成到其开发生命周期中。他们在预生产阶段模拟当前和未来的增长模式,识别并修复热点问题,并将经过调优的应用部署到生产环境。即使在生产阶段,也避免了猜测。他们持续监控用户体验,捕获所有事务,并基于实际和历史数据自动检测问题。LoadView 和 Dynatrace 是迈向精益且可靠 IT 服务的重要步骤。