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