如何排除 Storage Gateway 上传到 AWS 时性能下降的问题?

上次更新日期:2022 年 8 月 31 日

我想排除我在 AWS Storage Gateway 上的网关上传到 AWS 时性能下降的问题。

解决方法

查看您至 AWS 的互联网带宽或网络吞吐量

您的网关与 AWS 之间的互联网速度可能会影响上传性能。要确定您的网关可用的互联网带宽,请从虚拟机运行网络测试。或者,使用与网关设备位于同一网络的系统。

如果您的网关以 AWS Direct Connect 或 VPN 连接通过 Amazon Simple Storage Service(Amazon S3)的 Amazon Virtual Private Cloud(Amazon VPC)端点连接到 AWS,则请运行从本地虚拟机到 VPC 中实例的网络吞吐量测试

如果您的网关在本地主机托管,并以 Direct Connect 或 VPN 连接通过 Storage Gateway 的 VPC 端点连接到 AWS,则从网关到 S3 存储桶的流量将遍历公有虚拟接口或公有互联网。如果公有虚拟接口或互联网连接拥塞,则您的网关的上传性能可能会受到影响。要允许流量遍历私有虚拟接口,请考虑使用 Amazon S3 VPC 端点设置您的网关。使用此配置时,您必须在网关设备上创建和配置 Amazon Elastic Compute Cloud(Amazon EC2)代理。

检查正在写入 Storage Gateway 设备的文件的大小

当使用较大的文件时,Storage Gateway 通常比使用较小的文件时具有更好的上传性能。这是因为 Storage Gateway 会将大型文件分成多个部分,然后将这些部分以并行流的形式上传至 S3 存储桶。

您可以通过使用文件网关性能指南中描述的文件大小和线程数运行测试,对从网关到 AWS 的上传速度进行基准测试。然后,查看 CloudBytesUploaded 指标以确定上传速度。

查看网关的缓存存储

如果您使用的是文件网关,请检查您的 CachePercentDirty 指标。写入网关但尚未写入 Amazon S3 的任何数据都被视为脏数据。高于 80% 的 CachePercentDirty 指标可以表明从网关到 Amazon S3 的上传速度缓慢。

如果 CachePercentDirty 指标较高,则检查 CloudBytesUploaded 指标,以确认上传到 Amazon S3 的速度是否较慢。如果上传速度较慢,则考虑增加网关可用的互联网带宽。

此外,请在 Amazon CloudWatch 上查看您的网关的 IoWaitPercent 指标。如果您在测试期间发现网关的 IoWaitPercent 指标高于 10%,则网关的磁盘可能没有足够的 I/O 来处理工作负载。您可以查看 WriteBytes 指标(使用 SampleCount 统计数据),以检查您对 AWS 的写入 I/O 总量。

如果网关的缓存磁盘没有足够的 I/O 来处理工作负载,请考虑将缓存磁盘更改为更快的磁盘类型。例如,考虑使用 SSD 或 NVMe 支持的 SSD 磁盘。将另一个缓存磁盘附加到网关有助于增加网关可用的聚合 I/O。

检查网关主机虚拟机或 Amazon EC2 实例的配置

确认网关的主机虚拟机或 EC2 实例的 CPU 和 RAM 可以支持您的网关传送到 AWS 的吞吐量。例如,每个 EC2 实例类型都有不同的基准吞吐量。如果突增吞吐量耗尽,则实例将使用其基准吞吐量,进而可能限制上传到 AWS 的吞吐量。

如果您的网关托管在 EC2 实例上,请检查该实例的 NetworkOut 指标。如果 NetworkOut 指标在测试期间处于基准吞吐量,则考虑将实例更改为较大的实例类型。较大的实例类型可以实现更高的网络吞吐量。

考虑网关与数据集之间的地理距离

最佳做法是在与数据集相同的网络中部署网关,或者在地理位置靠近数据集的网络中部署网关。避免通过广域网(WAN)设置连接。WAN 连接的一个示例是在 EC2 实例上部署的网关,其中文件共享通过 Direct Connect 或 VPN 挂载。通过 WAN 连接从本地流量到 AWS 的传输延迟会影响数据到达网关的速度。此延迟最终会影响上传到 S3 桶的速度。为了帮助减少上传延迟,请将您的网关部署在与您用作文件共享的 S3 桶相同的 AWS 区域。


这篇文章对您有帮助吗?


您是否需要账单或技术支持?