パフォーマンス向上

このドキュメントでは、アプリケーションのパフォーマンスを改善するための手法について説明します。ご使用の API のドキュメントに同様のページがあり、これらのトピックの一部について詳しく説明したページがあります。たとえば、Google Drive API のパフォーマンスに関するヒントのページをご覧ください。

gzip について

このクライアント ライブラリは、すべての API レスポンスに対して gzip 圧縮をリクエストし、データを解凍します。結果を解凍するために追加の CPU 時間が必要になりますが、ネットワーク コストとのトレードオフを考慮すると、通常はそれだけの価値があります。

部分レスポンス(fields パラメータ)

デフォルトでは、サーバーはリクエストの処理後にリソースの完全な表現を返します。パフォーマンスを向上させるには、必要なフィールドのみを送信するようにサーバーに指示し、代わりに部分的レスポンスを取得する方法があります。

部分的レスポンスをリクエストするには、標準の Fields パラメータを API メソッドに追加します。このパラメータの値で、返されるフィールドを指定します。このパラメータは、レスポンス データを返す任意のリクエストで使用できます。

次のコード スニペットでは、ディスカバリ サービスの GetRest メソッドが呼び出されます。Fields パラメータの値は description,title に設定されます。そのため、返されるオブジェクトには description フィールドと title フィールドのみが含まれます。

var service = new DiscoveryService();
var request = service.Apis.GetRest("calendar", "v3");
request.Fields = "description,title";
var result = request.Execute();
  

目的のフィールドを区切るにはカンマを、親フィールドに含まれるフィールドを示すにはスラッシュを使用します。Fields パラメータには他のフォーマット オプションがあります。詳しくは、お使いの API のドキュメントで「パフォーマンスのヒント」のページをご覧ください。

部分更新(パッチ)

呼び出す API がパッチをサポートしている場合、リソースの変更時に不要なデータを送信せずに済みます。このような API では、Patch メソッドを呼び出して、リソースに対して変更する引数を指定できます。

パッチのセマンティクスの詳細については、お使いの API のドキュメントにある「パフォーマンスのヒント」のページをご覧ください。

Batch

小さなリクエストを多数送信する場合は、バッチ処理が便利です。バッチ処理では、リクエストを 1 つの HTTP リクエストにバンドルできます。