跳到主要内容

延迟监控

建议您监控整个消息基础设施的延迟。

  • 可以通过构建一个发布/订阅工具来测量整个消息基础设施的端到端延迟,该工具获取一个时间戳,将其发布到队列中的消息中,从队列中接收该消息,并计算当前时间与接收到的消息中的时间戳之间的差异。
  • 应在所有环境中测量端到端系统延迟,而不仅仅是生产环境。
  • 如果需要在消息路径的各个点获取时间戳,应注意由于主机之间的时间同步和漂移问题,可能会存在不准确的情况。

示例测试设置 - 也适用于软件事件代理

img

以下是应用程序执行端到端延迟监控所遵循的步骤摘要:

  • 监控应用 App1 以每秒 10 条消息的速率向其本地事件代理发送请求消息,每个消息中包含时间戳值。
  • 请求消息通过多节点路由功能路由到远程事件代理。
  • 监控应用 App2 接收请求消息并立即回复请求。
  • 回复消息路由回 App2 的本地事件代理。
  • 监控应用 App1 接收回复消息并比较开始和结束时间戳值。
  • 监控应用 App1 还应通过消息总线订阅 Syslog 事件消息,并在单独的线程上通过 SEMP 轮询统计信息。也可以由单独的应用程序或监控工具完成此操作。

使用此监控方法的优势:

  • 延迟测量准确,因为时间戳值在同一监控应用服务器上进行比较。因此无需同步时钟。
  • 此方法提供端到端延迟监控。
  • 如果消息总线上引发任何事件,或使用 SEMP 查询的统计信息,可以将延迟差异与这些事件相关联。
  • 此外,还可以通过请求客户端连接详细统计信息来检索每个连接的延迟统计信息。