如何查找每秒收到多少请求,我的 Spring Boot 应用程序收到了?

Bra*_*avo 5 java spring spring-mvc spring-boot

我们正在使用 spring boot 并且我们只有一个休息服务,我们从一个客户端接收请求,但是有这么多的调用,因为每 12 个请求中有 1 个失败,如何找到每个请求的数量?其次,我的弹簧靴收到了,他们有什么方法可以监控生产中的这个指标吗?

有人可以帮助我们吗?

rie*_*pil 5

当您使用 Spring Boot 相关项目时,我建议您使用 Springsactuator包。集成此功能就像向项目添加新依赖项一样简单:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
Run Code Online (Sandbox Code Playgroud)

与这使你有机会获得几个新的端点一样/trace/metrics/trace/health等等。

有关更多信息,请查看官方Spring文档(https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-endpoints.html)或来自Baeldung 的以下博客文章http://www.baeldung.com/spring-boot-actuators

  • @rieckpli ,我没有看到“每秒收到多少请求”的要求 (4认同)

Sim*_*ume 3

您可能想要使用的是DropWizard 的指标您可以在此处查看可以执行的操作的示例,您甚至可以使用他们的 servlet 来拥有 REST 端点来监视这些指标,它将生成如下所示的内容:

{
  "version": "3.0.0",
  "gauges": {},
  "counters": {
    "m01-counter": {
      "count": 1
    }
  },
  "histograms": {
    "m02-histogram": {
      "count": 3,
      "max": 100,
      "mean": 41.66666666666666,
      "min": 5,
      "p50": 20,
      "p75": 100,
      "p95": 100,
      "p98": 100,
      "p99": 100,
      "p999": 100,
      "stddev": 41.69998667732268
    }
  },
  "meters": {},
  "timers": {}
}
Run Code Online (Sandbox Code Playgroud)

“meters”节点甚至会包含最后 1-5-15 分钟的平均呼叫率。