

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# パフォーマンスの最適化
<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 を使用している場合を除き、転送プロファイルのインターネットサービスプロバイダーから宛先までのレイテンシーは変化します。Direct Connect の詳細については、「[Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html) ユーザーガイド」を参照してください。

## スロットリング
<a name="performance-optimization-throttling"></a>

File Transfer は、帯域幅使用量をスロットリングできません。この問題を回避するには、Quality of Service (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～100 MB に維持します。スレッド数と最大アクティブ転送数は、アップロードパッケージの特性によって変化します。単一セッションの転送速度は、使用中のプロトコル (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>

デフォルトでは、File Transfer は File Transfer グラフィカルユーザーインターフェイス (GUI) アプリケーションからの着信接続をポート 50005 でリッスンします。これをオフにするには、設定ファイルに `api_server.enabled` を定義し、`false` に設定します。