Hiệu suất

Thư viện ứng dụng cho Perl giúp giảm bớt các hoạt động tương tác với API Google Ads, với cấu hình tối thiểu đối với bạn. Tuy nhiên, hiệu suất còn phụ thuộc nhiều vào cách sử dụng và tích hợp thư viện.

Hầu hết các phương pháp hay nhất này đều có thể áp dụng cho mọi ngôn ngữ. Hướng dẫn này trình bày các công cụ dành riêng cho Perl.

Phân tích ứng dụng của bạn

Phân tích tài nguyên cho ứng dụng của bạn cả khi sử dụng CPU và bộ nhớ để xác định nút thắt cổ chai về hiệu suất. Devel::NYTProf là trình phân tích mã nguồn Perl với nhiều tính năng mạnh mẽ mà bạn có thể khám phá.

Phiên bản Perl

Bạn nên thường xuyên nâng cấp lên phiên bản Perl mới hơn vì phiên bản này thường có hiệu suất tổng thể tốt hơn. Hãy xem tại đây để biết phiên bản Perl mới nhất và phiên bản tối thiểu cần thiết cho thư viện trên trang này.

Ghi nhật ký

Việc ghi nhật ký mở rộng có thể dẫn đến các hình phạt đáng kể về thời gian thực thi và mức sử dụng bộ nhớ. Bạn nên đặt cấp độ ghi nhật ký thành WARN cho mọi mã trong phiên bản chính thức.

Xem Hướng dẫn ghi nhật ký để biết thêm thông tin chi tiết về cấu hình của trình ghi nhật ký tóm tắt và chi tiết.

Phương thức Search hoặc SearchStream

API Google Ads cung cấp 2 phương thức chính để truy xuất đối tượng: Search (sử dụng tính năng phân trang) và SearchStream (sử dụng tính năng truyền trực tuyến). SearchStream mang lại hiệu suất tốt hơn so với phương thức Search, nhưng có thể có một số trường hợp nhất định trong đó phương thức Search có thể được ưu tiên.

Bạn có thể tìm hiểu thêm về hai phương pháp này tại đây.

Hết thời gian chờ HTTP

Thư viện ứng dụng Perl cung cấp một nền tảng để đặt thời gian chờ HTTP ở cấp ứng dụng:

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

Giá trị mặc định được đặt dựa trên chế độ cài đặt DEFAULT_HTTP_TIMEOUT trong Constants.pm. Đặt giá trị thấp hơn nếu bạn cần thực thi giới hạn ngắn hơn về thời gian tối đa cho lệnh gọi API.

Bạn có thể đặt thời gian chờ thành 2 giờ trở lên, nhưng API vẫn có thể hết thời gian chờ cho các yêu cầu chạy quá lâu và trả về lỗi DEADLINE_EXCEEDED. Nếu bạn gặp lỗi đó, hãy chia yêu cầu đó ra và thực thi các đoạn song song; điều này sẽ giúp tránh trường hợp yêu cầu chạy trong thời gian dài không thành công và cách duy nhất để khôi phục là kích hoạt lại yêu cầu từ đầu.