Google Cloud アーキテクチャ フレームワークのこのドキュメントでは、Google Cloud のストレージ リソースのパフォーマンスを最適化するための推奨事項について説明します。
Cloud Storage
このセクションでは、Cloud Storage オペレーションのパフォーマンスを最適化するためのベスト プラクティスについて説明します。
バケットのパフォーマンスを評価する
Cloud Storage バケットのパフォーマンスを評価するには、gsutil perfdiag
コマンドを使用します。このコマンドは、さまざまなサイズのファイルで一連の読み取り / 書き込みリクエストを送信して、指定されたバケットのパフォーマンスをテストします。テストは、アプリケーションの使用パターンに合わせて調整できます。このコマンドで生成される診断レポートを使用して、パフォーマンスの予測値を設定し、潜在的なボトルネックを特定します。
アクセス頻度が高いオブジェクトをキャッシュに保存する
一般公開されており頻繁にアクセスされるオブジェクトの読み取りレイテンシを改善するには、このようなオブジェクトがキャッシュに保存されるように構成します。キャッシュ保存によってパフォーマンスを改善できますが、キャッシュに古いバージョンのオブジェクトがあると、古いコンテンツが配信される可能性があります。
リクエストを効率的にスケールする
バケットのリクエスト レートが増加すると、Cloud Storage は複数のサーバーにリクエストの負荷を分散し、バケットの I/O 容量を自動的に増やします。リクエストのスケーリング時に最適なパフォーマンスを実現するには、リクエスト レートを増加させ、負荷を均等に分散するためのベスト プラクティスに従ってください。
マルチスレッド処理とマルチプロセッシングを有効にする
gsutil
を使用して多数の小さなファイルをアップロードする場合は、-m
オプションを使用してオペレーションのパフォーマンスを改善できます。このオプションを使用すると、アップロード リクエストがバッチ並列処理(マルチスレッド処理とマルチプロセッシング)で実装されます。このオプションは、高速ネットワーク接続を介してオペレーションを実行する場合にのみ使用します。詳細については、gsutil help options
コマンドを使用して、gsutil
のグローバル コマンドライン オプションを確認してください。
大きなファイルを合成物としてアップロードする
大きなファイルをアップロードするには、並列複合アップロードと呼ばれる方式を使用できます。この方式では、大きなファイルがチャンクに分割され、それらが並行してアップロードされてからクラウドで再構成されます。ネットワーク帯域幅とディスク速度が制限要因になっていない場合は、並列複合アップロードが通常のアップロード オペレーションよりも高速になる可能性があります。ただし、この方式にはいくつかの制限事項があり費用にも影響が及びます。詳細については、並列複合アップロードをご覧ください。
永続ディスクとローカル SSD
このセクションでは、Compute Engine VM にアタッチされている Persistent Disk とローカル SSD のパフォーマンスを最適化するためのベスト プラクティスについて説明します。
永続ディスクとローカル SSD のパフォーマンスは、ディスクのタイプとサイズ、VM マシンタイプ、vCPU の数によって異なります。永続ディスクとローカル SSD のパフォーマンスは、次のガイドラインを使用して管理します。
- VM にブロック ストレージをプロビジョニングする場合は、ワークロードに適したディスクタイプとディスクサイズを選択します。詳細については、パフォーマンス要件を満たすようにディスクを構成するをご覧ください。
- ブロック ストレージのパフォーマンスをベンチマークします。詳細については、以下のドキュメントをご覧ください。
- 永続ディスクとローカル SSD のパフォーマンスを最適化します。詳細については、以下のドキュメントをご覧ください。
Filestore
このセクションでは、Filestore インスタンスのパフォーマンスを最適化するためのベスト プラクティスについて説明します。Filestore を使用して、Compute Engine VM と GKE クラスタ用のフルマネージド ネットワーク ファイル システム(NFS)ファイル サーバーをプロビジョニングできます。
- Filestore インスタンスをプロビジョニングする際には、ワークロードのパフォーマンスと容量の要件を満たすサービスティアを選択します。
- キャッシュに依存するワークロードを実行するクライアント VM には、Filestore インスタンスのネットワーク パフォーマンスを最適化できるマシンタイプを使用します。詳細については、推奨されるクライアント マシンタイプをご覧ください。
- Linux を実行するクライアント VM の Filestore インスタンスのパフォーマンスを最適化するには、専用の NFS マウント設定をおすすめします。詳細については、Linux クライアントのマウント オプションをご覧ください。
- ネットワーク レイテンシを最小化するには、インスタンスを使用する予定の場所に近いリージョンとゾーンに、Filestore インスタンスをプロビジョニングします。
- Filestore インスタンスのパフォーマンスをモニタリングし、Cloud Monitoring を使用してアラートを設定します。
次のステップ
コンピューティング リソース、ネットワーキング リソース、データベース リソース、分析リソースのパフォーマンスを最適化するためのベスト プラクティスを確認します。