1

我们有一个应用程序,它有几个类似于下图的层。

应用

并且需要进行性能测试来衡量端到端应用程序的性能。

我可以使用 JMeter 之类的工具来模拟负载,它会给出总响应时间。但我需要捕捉每个节点之间的时间:

  • 客户端应用程序 -> API
  • API -> ERP -> API
  • API -> 客户端应用程序

有没有办法捕获这些信息?

对此的任何帮助表示赞赏。

4

1 回答 1

1

如果您的 JMeter 正在模拟与 API 的“客户端应用程序”交互,那么您将只有整体性能。但是您可以将性能测试分为两部分:

  1. 通过生成与您的 API 直接针对 ERP 的相同请求,单独测试 API -> ERP -> API。
  2. 测试客户端应用程序 -> API -> ERP -> API -> 客户端应用程序。然后,您可以减去测试 1 的结果,这将为您提供客户端应用程序 -> API -> 客户端应用程序的近似值。

当然,这比做一个测试要复杂得多。更经济的方法是

  1. 要么依赖应用程序日志记录(最好的方法,如果有的话)。通常应该是,因为 API 和 ERP 都可能是部署在 Web/App 服务器上的一些 Web 应用程序,并且它们中的大多数都能够记录足够的数据。所以在结果解析中会做更多的练习。
  2. 或者让其他“中间人”记录请求何时到达和离开每台服务器。它可以是负载均衡器,也可以是记录 HTTP 流量的应用程序。
于 2016-02-24T18:27:14.823 回答