このページでは、Filestore の使用中に発生する可能性のあるパフォーマンスの低下の問題に対処するためのトラブルシューティング情報について説明します。
読み取りまたは書き込みのパフォーマンスが遅い
- クライアント VM に推奨マシンタイプを使用していることを確認します。
クライアント VM が Linux を実行している場合は、デフォルトのマウント オプションを使用していることを確認します。
クライアント VM が Filestore インスタンスと同じリージョンに配置されていることを確認します。リージョン間でマウントすると、パフォーマンスが低下するだけでなく、ネットワーク コストも発生します。
Filestore インスタンスが最大容量を超えるか、超えようとしていないことを確認します。残り容量が僅かになると、残りのスペースが断片化することが多く、読み取り / 書き込みオペレーションが遅くなります。このような状況を回避するために必要な空き領域は、状況によって異なります。ディスク容量不足のアラートを設定することをおすすめします。
fio
ツールを使用して Filestore インスタンスのパフォーマンスをテストします。テストの結果、パフォーマンスの異常な低下が見られる場合は、アカウント担当者にお問い合わせください。テスト結果が想定どおり、またはそれよりも高いことが判明した場合は、次のセクションに進みます。
パフォーマンスの低下につながるユースケース
パフォーマンスの低下につながるユースケースとシナリオを、以下に示します。
サイズの小さいファイルを多数含むワークロード
Filestore のファイル共有は、データの安全性と NFS プロトコル準拠のために
sync
エクスポート オプションを使用します。ほとんどのデータ変更オペレーションでは、Filestore インスタンスはデータがストレージに commit された後にクライアント VM からのリクエストに応答します。オペレーションに多くのファイルが含まれていると、クライアントが一連の長い同期オペレーションを行い、累積レイテンシが追加されます。このシナリオの例として、tar ファイルなどのファイル共有上のアーカイブを抽出する場合が挙げられます。TAR は、多数のファイルを含むアーカイブを抽出する際に、一連の多数の同期オペレーションを実行します。その結果、パフォーマンスが低下します。
多数のサイズの小さいファイルをファイル共有にコピーする場合は、Google Cloud CLI などのツールでファイル作成を並列化してみてください。
mkdir -p /mnt/nfs/many_files_rsync/ time gcloud storage rsync many_files /mnt/nfs/many_files_rsync/ --recursive
ファイル共有に保存されるファイルごとに 1 つの i ノードが消費されます。ファイル システムで i ノードが不足すると、割り当てられた最大容量に達していなくても、ファイル共有にファイルをさらに保存できなくなります。ただし、i ノードの上限に達することはめったにありません。多数の小さなファイルを保存する必要がある場合にのみ、問題になります。
詳細については、Inode の使用状況をご覧ください。
Cloud Storage と Filestore の間でデータをコピーする
gcloud CLI を使用して Cloud Storage から Filestore インスタンスにデータをコピーする方法は、時間がかかることがわかっています。パフォーマンスを改善する方法について詳しくは、Google Cloud リソース全体でパフォーマンスを向上させるをご覧ください。