Perl 用戶端程式庫可簡化與 Google Ads API 的互動,您只需進行最少設定。不過,效能表現很大程度上取決於程式庫的使用和整合方式。
大多數一般最佳做法適用於所有語言。本頁面提供 Perl 專屬的效能指南。
剖析應用程式
分析應用程式的 CPU 和記憶體用量,找出效能瓶頸。Devel::NYTProf 是功能豐富的 Perl 原始碼分析工具,可用於分析執行時間。
Perl 版本
請定期升級至較新的 Perl 版本,以提升執行階段效能。請從 CPAN Perl 來源版本下載最新版本,並在 README 需求中查看程式庫的最低版本需求。
記錄
大量記錄可能會導致執行時間大幅增加,並耗用大量記憶體。請將實際工作環境中任何程式碼的記錄層級設為 WARN。
如要進一步瞭解如何設定摘要和詳細記錄器,請參閱記錄指南。
SearchStream 與 Search
Google Ads API 提供兩種主要方法來擷取物件:Search (使用分頁) 和 SearchStream (使用串流)。SearchStream 的效能比 Search 更好,但在某些情況下,Search 可能是更好的選擇。
如要詳細比較這兩種方法,請參閱串流指南。
酬載最佳化和批次處理
如要盡可能減少網路負載和記憶體用量,請按照下列步驟操作:
- 在 Google Ads 查詢語言 (GAQL) 查詢中,只要求應用程式需要的特定欄位。
- 將多項異動作業合併為單一
mutate要求,而不是為每項異動傳送個別要求。
HTTP 逾時
Perl 用戶端程式庫提供一項設定,可在用戶端層級設定 HTTP 逾時:
my $api_client = Google::Ads::GoogleAds::Client->new({
# Set HTTP timeout to 5 minutes (300 seconds).
http_timeout => 300,
});
預設值為 3600 秒 (1 小時),根據 Constants.pm 中的 DEFAULT_HTTP_TIMEOUT 常數設定。如需縮短 API 呼叫的時間上限,請設定自訂用戶端逾時時間。
您可以將逾時時間設為 2 小時以上,但如果要求執行時間過長,API 仍可能逾時並傳回 DEADLINE_EXCEEDED 錯誤。如果遇到這項錯誤,請將要求拆分為較小的區塊,並平行執行。這樣一來,如果長時間執行的要求失敗,就不必從頭重新觸發要求,才能復原。