效能

Perl 用戶端程式庫可減少與 Google Ads API 的互動,您只需要進行少許設定。不過,效能主要取決於程式庫的使用方式及整合方式。

大部分的最佳做法都適用於所有語言。本指南會逐一介紹 Perl 適用的項目。

剖析應用程式

針對 CPU 和記憶體用量剖析應用程式,找出效能瓶頸。Devel::NYTProf 是功能豐富的 Perl 原始碼分析器,可以善加利用。

Perl 版本

建議您定期升級至較新的 Perl 版本,因為這個版本通常能提升整體效能。如需最新 Perl 版本,以及此頁面中程式庫的最低版本需求,請參閱此處

記錄

大量記錄可能會大幅影響執行時間並降低記憶體用量。建議您針對實際工作環境中的任何程式碼,將記錄層級設為 WARN

如要進一步瞭解摘要與詳細記錄器的設定,請參閱 Logging 指南

搜尋或 SearchStream 方法

Google Ads API 提供兩種擷取物件的方法:Search (使用分頁) 和 SearchStream (使用串流)。SearchStreamSearch 方法更好,但在某些情況下,可能會建議使用 Search 方法。

如要進一步瞭解這兩種方法,請參閱這篇文章

HTTP 逾時

Perl 用戶端程式庫提供了在用戶端層級設定 HTTP 逾時的介面:

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

預設值是以 Constants.pm 中的 DEFAULT_HTTP_TIMEOUT 設定為依據。如果需要強制執行較短的 API 呼叫時間限制,請設定較低的值

您可以將逾時時間設定為 2 小時以上,但 API 可能還是會在長時間執行的要求逾時後傳回 DEADLINE_EXCEEDED 錯誤。如果您遇到這個錯誤,請分割要求並同時執行區塊;這樣可避免長時間執行的要求失敗,而唯一復原的方式就是從頭開始觸發要求。