パフォーマンス

Perl 用クライアント ライブラリを使用すると、Google Ads API とのやり取りが簡単になり、ユーザー側の設定も最小限で済みます。ただし、パフォーマンスはライブラリの使用方法と統合方法に大きく依存します。

これらのベスト プラクティスのほとんどは、すべての言語に適用できます。このガイドでは、Perl 固有のものを説明します。

アプリケーションのプロファイリング

CPU とメモリの両方の使用量についてアプリケーションをプロファイリングして、パフォーマンスのボトルネックを特定します。Devel::NYTProf は、探索可能な強力で機能豊富な Perl ソースコード プロファイラです。

Perl のバージョン

通常、新しい Perl バージョンには全体的なパフォーマンスの改善が含まれているため、定期的にアップグレードすることをおすすめします。最新の Perl バージョンと、このページのライブラリに必要な最小バージョンについては、こちらをご覧ください。

ロギング

ロギングを広範囲に行うと、実行時間のペナルティとメモリ消費量が大幅に増加する可能性があります。本番環境のコードでは、ロギングレベルを WARN に設定することをおすすめします。

概要ロガーと詳細ロガーの構成の詳細については、ロギング ガイドをご覧ください。

Search メソッドまたは SearchStream メソッド

Google Ads API には、オブジェクトを取得するための主なメソッドが 2 つあります。Search(ページネーションを使用)と SearchStream(ストリーミングを使用)です。SearchStreamSearch メソッドよりもパフォーマンスが優れていますが、Search メソッドが優先されるシナリオもあります。

2 つの方法について詳しくは、こちらをご覧ください。

HTTP タイムアウト

Perl クライアント ライブラリは、クライアント レベルで HTTP タイムアウトを設定するためのサーフェスを提供します。

my $api_client = Google::Ads::GoogleAds::GoogleAdsClient->new({
  # Set HTTP timeout to 5 minutes.
  http_timeout   => 300
});

デフォルト値は Constants.pmDEFAULT_HTTP_TIMEOUT 設定に基づいて設定されます。API 呼び出しの最大時間を短く制限する必要がある場合は、値を小さく設定します。

タイムアウトは 2 時間以上に設定できますが、API は非常に長いリクエストをタイムアウトして DEADLINE_EXCEEDED エラーを返すことがあります。このエラーが発生した場合は、リクエストを分割してチャンクを並行して実行します。これにより、長時間実行されているリクエストが失敗し、復元する唯一の方法が最初からリクエストを再度トリガーすることになる状況を回避できます。