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

上次更新日期:2020 年 10 月 12 日

如何排查我在 AWS Storage Gateway 上的网关上传到 AWS 时性能下降的问题?

解决方法

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

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

如果您的网关通过 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 实例上部署的网关,其中文件共享通过直接连接或 VPN 挂载。通过 WAN 连接从本地流量到 AWS 的传输延迟会影响数据到达网关的速度。此延迟最终会影响上传到 S3 存储桶的速度。为了帮助减少上传延迟,请将您的网关部署在与您用作文件共享的 S3 存储桶相同的 AWS 区域。</p


这篇文章对您有帮助吗?


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