NSX Advanced Load Balancer 可以了解客户端与 HTTP 应用程序的交互情况,包括从客户端的角度看的交互情况。其导航时间功能可从客户端了解收到请求站点的 URL 查询的 DNS 回复所用的时间,下载站点的各种对象所用的时间,以及 DOM 和页面呈现所用的时间。

虚拟服务 > 客户端页面显示导航时间数据和其他衡量指标,例如客户端浏览器、位置和操作系统。默认情况下,创建新的虚拟服务时,不会显示导航时间。

注:

客户端详细信息当前是一项技术预览版功能,建议不要用于生产环境。

要启用导航时间,请编辑虚拟服务并导航到“分析”选项卡,然后将“类型”字段设置为“活动”。导航时间仅与具有 HTTP 应用程序配置文件的虚拟服务相关。

该数据在 SE 将 industry-standard JavaScript 查询插入发回到客户端的少量服务器响应中时生成。客户端浏览器以透明的方式返回有关加载网页体验的其他信息。NSX Advanced Load Balancer 使用此信息填充导航时间排名靠前的 URL 时间衡量指标字段。这也称为 RUM 或实际用户监控。

导航时间要求

导航时间要求满足以下条件:

  • 虚拟服务必须为 HTTP 或 HTTPS(并且 NSX Advanced Load Balancer 终止 SSL 连接)。

  • 虚拟服务必须通过实际浏览器进行访问。

  • 该浏览器必须能够运行 Javascript。(JavaScript 不得停用。)。

  • 仅针对“良好”HTML 请求捕获数据:

    • 以响应代码 200 结尾的请求

    • 响应内容类型设置为 text/html

    • 包含标记的响应正文

  • 对于可缓存页面,当浏览器重用缓存页面时,NSX Advanced Load Balancer 不会收集导航时间。

  • 大多数常见浏览器都支持基本导航时间,但某些旧版本的浏览器和移动浏览器可能不支持此功能。

选择过程示例

采样的选择过程遵循以下步骤顺序。如果其中任何步骤返回 noNSX Advanced Load Balancer 将跳过收集导航时间的请求/响应。

  • 检查响应是否为 200 正常。

  • 检查这是否是主请求,而不是子请求。

  • 检查自将最后一个 RUM JS 插入响应中以来是否经过了一秒钟(默认)以上:

    • 默认情况下,每秒最多捕获一个请求。

    • 可以在 CLI 中通过 se_properties > se_bootup_properties > se_rum_sampling_nav_interval 更改此属性

    • 由于该值是“引导”属性,因此必须重新启动 SE。

  • 检查捕获的请求数是否少于 1%(默认):

    • 如果收到 100 个请求,则只有一个条目符合捕获条件。

    • 可以在 CLI 中通过 se_properties > se_bootup_properties > se_rum_sampling_nav_percent 更改此属性

    • 由于该值是“引导”属性,因此必须重新启动 SE。

  • 虚拟服务的客户端详细信息设置为 Active

    • 检查内容类型是否设置为 text/html。

    • 检查 URL 是否列在“客户端详细信息”排除列表中。

    • 检查 IP 或端口是否列在“客户端详细信息”排除列表中。