このドキュメントでは、アプリケーションのパフォーマンスを改善するための手法について説明します。ご使用の 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 リクエストにバンドルできます。