Dagger 框架在响应同一端点的并发请求时遇到问题

问题描述 投票:0回答:1

我们有一个从数据库检索图像 URL 的应用程序。该应用程序是用 Dagger 2.25.4 编写的。使用 Jmeter 进行测试时,我们有以下场景:

  1. 单个用户执行 1000 个请求 ---> 所有响应均符合预期
  2. 5 个用户执行 1 个请求 ---> 有时请求会失败
  3. 5 个用户执行 1000 个请求 -----> 3 % 或请求失败

上面的实验让我认为服务器不能很好地处理并发。即使没有高内存使用率,并发请求也会失败。现在在服务器上测试时我们可以看到请求之间的时间间隔非常短,大约5毫秒。是否有任何文档说明该框架可以处理的请求之间的最小时间间隔是多少,或者它如何处理并发请求?我正在查看 https://dagger.dev/ 但找不到任何内容。

concurrency jmeter dagger-2
1个回答
0
投票

Dagger是一个DI框架,它并不真正“服务”请求,实际工作是由以下人员完成的:

所以我推荐:

  1. 为您的部署启用分析器工具遥测,您可以使用 JVisualVMYourKitJProfiler

  2. 执行压力测试,即从 1 个用户开始,逐渐增加负载直到 1000 或任何预期数字,同时查看:

    • 吞吐量(每秒请求数)
    • 响应时间
    • 错误数量

    当吞吐量停止增长、响应时间增加或开始出现错误时,您可以检查日志、分析器快照等,以确定瓶颈的根本原因。

© www.soinside.com 2019 - 2024. All rights reserved.