

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 性能优化
<a name="performance-optimization"></a>

本主题解释了上传速度慢的原因，并提供了一些可以提高速度的更改。

**Topics**
+ [网络带宽](#performance-optimization-network-bandwidth)
+ [磁盘吞吐量](#performance-optimization-disk-throughput)
+ [延迟](#performance-optimization-latency)
+ [节流](#performance-optimization-throttling)
+ [打开文件的最大限制](#performance-optimization-max-open-files)
+ [存储桶可见性](#performance-optimization-bucket)
+ [优化上传（未自动调整时）](#performance-optimization-optimize-uploads)
+ [配置和数据库文件位置](#performance-optimization-database-file)
+ [关闭 API 服务器](#performance-optimization-gui-host)

## 网络带宽
<a name="performance-optimization-network-bandwidth"></a>

File Transfer 可增加网络使用率和饱和度。其传输速度不能超过分配给它使用的带宽。如果您的计算机分配了 500 Mbps 的网络带宽，则可以尝试的最快 File Transfer 就是 500 Mbps。如果想加快传输速度，可为主机系统分配额外的带宽。

## 磁盘吞吐量
<a name="performance-optimization-disk-throughput"></a>

磁盘吞吐量必须随着 [网络带宽](#performance-optimization-network-bandwidth) 的增长而相应扩展。您需要足够的 I/O 吞吐量来支持较高的最大活动传输或线程数配置。如果连接到主机的存储（例如 NAS、SAN、本地 SSD 和外置 HDD）的 I/O 吞吐量不足，则传输速度将减慢。为避免此情况，请通过升级硬件、CPU 和互联网来升级基础设施。

## 延迟
<a name="performance-optimization-latency"></a>

我们建议您在地理位置最接近下载和上传设施的 AWS 区域 部署 File Transfer 基础设施。除非传输配置文件正在使用 Direct Connect，否则传输配置文件的 Internet 服务提供商到目的地之间的延迟会有所不同。有关 Direct Connect 的更多信息，请参阅 [Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html) 用户指南。

## 节流
<a name="performance-optimization-throttling"></a>

File Transfer 无法限制其带宽使用量。要解决此问题，请使用服务质量 (QoS) 限制防火墙层，或限制虚拟局域网 (VLAN) 层的流量形状。

## 打开文件的最大限制
<a name="performance-optimization-max-open-files"></a>

某些主机（主要是 Linux 和 macOS）对打开文件的最大数量具有预先配置的软限制和硬限制。至少 File Transfer 创建文件描述符来访问磁盘和网络资源。我们建议您的主机的最大打开文件限制为 20,000 个。

## 存储桶可见性
<a name="performance-optimization-bucket"></a>

File Transfer 使用默认的 Amazon S3 端点。您可以选择使用默认的 Amazon S3 加速端点。有关端点的更多信息，请参阅 [Amazon Simple Storage Service (Amazon S3)](best-practices.md#best-practices-s3)。

您可以使用 AWS Command Line Interface（AWS CLI）列出存储桶中的内容。使用您的 File Transfer 访问密钥和私有密钥或通过 [Amazon S3](https://console.aws.amazon.com/s3/) 控制台执行此操作。

## 优化上传（未自动调整时）
<a name="performance-optimization-optimize-uploads"></a>

要获得全面的最佳性能，请将组块大小保持在 25–100MB 之间。线程和最大活动传输量将根据上传包的特性而有所不同。单会话传输速度受所用协议 (TCP/HTTP) 的限制。最佳配置包括较小的组块大小以及更高的线程和最大活动传输设置。最佳做法是将组块大小设置为略高于中位文件大小。不过，最佳做法是在大多数硬件上不超过 50 MB。

## 配置和数据库文件位置
<a name="performance-optimization-database-file"></a>

配置文件和数据库文件位于 `FILETRANSFER_CONFIG_DIR` 环境变量定义的任何目录中。如果未设置该变量，则这些文件默认位于 `~/.filetransfer` 中。配置文件已命名为 `configuration.yaml`，数据库文件已命名为 `checksum-cache.db`。

## 关闭 API 服务器
<a name="performance-optimization-gui-host"></a>

默认情况下，端口 50005 上的 File Transfer 监听来自 File Transfer 图形用户界面 (GUI) 应用程序的传入连接。要将其关闭，请在配置文件中定义 `api_server.enabled` 并将其设置为 `false`。