パフォーマンス向上

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

gzip について

このクライアント ライブラリは、すべての API レスポンスで gzip 圧縮をリクエストし、データを解凍します。この方法では、結果を解凍するために CPU 時間が余分に必要になりますが、ネットワーク費用とのバランスを考えると、時間をかける価値は十分にあります。

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

デフォルトでは、サーバーはリクエストを処理した後、リソースの完全な表現を返送します。 パフォーマンスを向上させるには、必要なフィールドのみを送信するようサーバーに要求して、部分レスポンスを受信します。

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

次のコード スニペットでは、Discovery サービスの 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 メソッドを呼び出して、 リソースに対して変更する引数を指定します。

パッチのセマンティクスの詳細については、 「パフォーマンス向上のヒント」もご覧くださいページをご覧ください。

バッチ

多くの小規模なリクエストを送信する場合は、バッチ処理が有効です。これにより、これらのリクエストを 1 つの HTTP リクエストにまとめることができます。