本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
管理 Amazon MSK 集群中标准代理的存储吞吐量
有关如何使用 Amazon MSK 控制台、CLI 和 API 预置吞吐量的信息,请参阅为 Amazon MSK 集群中的标准代理预置存储吞吐量。
主题
Amazon MSK 代理吞吐量瓶颈和最大吞吐量设置
代理吞吐量出现瓶颈的原因有很多:卷吞吐量、Amazon EC2 到 Amazon EBS 的网络吞吐量以及 Amazon EC2 出口吞吐量。您可以启用预置存储吞吐量来调整卷吞吐量。但是,代理吞吐量限制可能是由 Amazon EC2 到 Amazon EBS 的网络吞吐量和 Amazon EC2 出口吞吐量造成。
Ama EC2 zon 出口吞吐量受使用器组数量和各使用器组使用器数量的影响。此外,对于较大代理大小,Amazon EC2 到 Amazon EBS 网络吞吐量和 Amazon EC2 出口吞吐量都更高。
对于 10GiB 或更大的卷大小,您可以将存储吞吐量预置为每秒 250MiB 或更高值。默认为每秒 250MiB。要预置存储吞吐量,您必须选择代理大小 kafka.m5.4xlarge 或更大(或 kafka.m7g.2xlarge 或更大),并且您可以指定最大吞吐量,如下表所示。
代理大小 | 最大存储吞吐量(MiB/s) |
---|---|
kafka.m5.4xlarge | 593 |
kafka.m5.8xlarge | 850 |
kafka.m5.12xlarge | 1000 |
kafka.m5.16xlarge | 1000 |
kafka.m5.24xlarge | 1000 |
kafka.m7g.2xlarge | 312.5 |
kafka.m7g.4xlarge | 625 |
kafka.m7g.8xlarge | 1000 |
kafka.m7g.12xlarge | 1000 |
kafka.m7g.16xlarge | 1000 |
衡量 Amazon MSK 集群的存储吞吐量
您可以使用 VolumeReadBytes
和 VolumeWriteBytes
指标来衡量集群的平均存储吞吐量。使用这两个指标的总和得出以字节为单位的平均存储吞吐量。要获取集群的平均存储吞吐量,请将这两个指标设置为 SUM,将时长设置为 1 分钟,然后使用以下公式。
Average storage throughput in MiB/s = (Sum(VolumeReadBytes) + Sum(VolumeWriteBytes)) / (60 * 1024 * 1024)
有关 VolumeReadBytes
和 VolumeWriteBytes
指标的信息,请参阅PER_BROKER 级别监控。
Amazon MSK 集群中预置存储的配置更新值
您可以在开启预置吞吐量之前或之后更新 Amazon MSK 配置。不过,要想看到所需的吞吐量,您必须先执行这两个操作:更新 num.replica.fetchers
配置参数和开启预置吞吐量。
在默认 Amazon MSK 配置中,num.replica.fetchers
的值为 2。要更新 num.replica.fetchers
,您可以使用下表中的建议值。这些值仅供参考。建议您根据自己的用例调整这些值。
代理大小 | num.replica.fetchers |
---|---|
kafka.m5.4xlarge | 4 |
kafka.m5.8xlarge | 8 |
kafka.m5.12xlarge | 14 |
kafka.m5.16xlarge | 16 |
kafka.m5.24xlarge | 16 |
更新后的配置可能无法在 24 小时内生效,并且如果源卷未得到充分利用,则可能需要更长时间。不过,在迁移期间,过渡卷的性能至少等于源存储卷的性能。如果 1TiB 卷得到充分利用,通常约需六小时就能迁移到更新后的配置。