我想对我的应用程序的性能获得一些见解,该应用程序连接到AWS中的多个服务,例如IAM
和S3
。我感兴趣的一个指标是requests-per-minute
,我已经检查了可能的方法,如AWS document所述,AWS Metrics仅限于企业客户。另一种方法是通过Java SDK metrics生成CloudWatch
。我通过将以下命令添加到系统属性中来启用此功能
-Dcom.amazonaws.sdk.enableDefaultMetrics=credentialFile=/path/aws.properties
我在CloudWatch
仪表板中看到了一些指标,但是没有request-per-second
。我想确定是否有人对此有经验,或者我想念什么。
我遇到了这个问题。但是我遇到的问题是我想控制请求的数量,以使API调用的数量不会超过相关的配额。
我通过使用Guava库中的RateLimiter
类解决了这个问题,该库是Google的Java开源公共库,可以控制进程的发生率。
我能够将API调用的数量限制为每秒3次,然后解决了该问题。导入是→com.google.common.util.concurrent.RateLimiter;
尝试一下https://www.baeldung.com/guava-rate-limiter
希望对您有帮助
要获取存储桶的指标,您必须将其启用
https://docs.amazonaws.cn/en_us/AmazonS3/latest/user-guide/configure-metrics.html
一旦运行了一段时间,请在Cloudwatch中找到所需的指标,这里有名称列表
https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html