测试 Graphql API 性能



我正在重构我的nodejs api中的一些核心功能,它利用graphql。API 用作代理,从多个源获取请求,并根据请求将它们传递给多个 API。我想知道如何进行一些整体性能测试,在进行重构后比较当前的 api 版本性能和性能,看看我是否至少没有降低性能?

您可以在 api 终端节点上进行压力测试以比较结果。

使用 Loader.io 可能是您最好的方法。https://loader.io/

请注意多次发送文本,并清除每次测试的缓存。

你有没有研究过Apollo Engine,这是制作Apollo Client的人的很棒的GraphQl分析平台。易于安装且免费。本周上映。https://dev-blog.apollodata.com/introducing-apollo-engine-insights-error-reporting-and-caching-for-graphql-6a55147f63fc

你可以试试easygraphql-load-tester;它会为你创建所有的查询,只需传递模式和参数!

下面是使用 Artillery.io 的示例,下面是使用 K6 的另一个示例

通过这种负载测试,可以识别服务器上数据加载程序的错误实现

没有数据加载器的结果

All virtual users finished
Summary report @ 10:07:55(-0500) 2018-11-23
  Scenarios launched:  5
  Scenarios completed: 5
  Requests completed:  295
  RPS sent: 36.88
  Request latency:
    min: 1.6
    max: 470.9
    median: 32.9
    p95: 233.2
    p99: 410.8
  Scenario counts:
    GraphQL Query load test: 5 (100%)
  Codes:
    200: 295

使用数据加载器的结果

All virtual users finished
Summary report @ 10:09:09(-0500) 2018-11-23
  Scenarios launched:  5
  Scenarios completed: 5
  Requests completed:  295
  RPS sent: 65.85
  Request latency:
    min: 1.5
    max: 71.9
    median: 3.3
    p95: 19.4
    p99: 36.2
  Scenario counts:
    GraphQL Query load test: 5 (100%)
  Codes:
    200: 295

我也尝试 easygraphql-load-tester,但它真的没有帮助。我们使用杰米特检查 GraphQL API 的负载测试。它确实对我们有帮助,您可以获得准确的响应,API通过计数,API失败计数,甚至您可以获取Excelsheet格式的数据,并添加不同的变量,您可以创建Excel文件并在其中导入。甚至我们可以在其中生成图形来检查 api 性能。

最新更新