Thư viện ứng dụng cho Perl giúp bạn dễ dàng tương tác với Google Ads API mà không cần phải thiết lập nhiều. Tuy nhiên, hiệu suất phụ thuộc rất nhiều vào cách thư viện được sử dụng và tích hợp.
Hầu hết các phương pháp hay nhất này đều áp dụng cho mọi ngôn ngữ. Hướng dẫn này sẽ trình bày những điểm cụ thể đối với Perl.
Lập hồ sơ ứng dụng
Phân tích ứng dụng của bạn về cả mức sử dụng CPU và bộ nhớ để xác định các điểm tắc nghẽn về hiệu suất. Devel::NYTProf là một trình phân tích mã nguồn Perl mạnh mẽ với nhiều tính năng 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 bắt buộc đối với thư viện trong trang này.
Ghi nhật ký
Việc ghi nhật ký trên diện rộng có thể khiến thời gian thực thi bị phạt đáng kể và tiêu tốn nhiều bộ nhớ. Bạn nên đặt cấp độ ghi nhật ký thành WARN
cho mọi mã trong quá trình sản xuất.
Hãy xem Hướng dẫn ghi nhật ký để biết thêm thông tin chi tiết về cách định cấu hình trình ghi nhật ký tóm tắt và chi tiết.
Phương thức Tìm kiếm hoặc SearchStream
Google Ads API cung cấp 2 phương thức chính để truy xuất các đối tượng – Search
(sử dụng phân trang) và SearchStream
(sử dụng truyền phát 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 mà phương thức Search
sẽ đượ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 để thiết lập 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 một lệnh gọi API.
Bạn có thể đặt thời gian chờ là 2 giờ trở lên, nhưng API vẫn có thể hết thời gian chờ đối với các yêu cầu chạy cực kỳ lâu và trả về lỗi DEADLINE_EXCEEDED
.
Nếu bạn gặp phải lỗi đó, hãy chia yêu cầu thành nhiều phần và thực thi các phần này song song; điều này giúp tránh trường hợp yêu cầu chạy trong thời gian dài bị lỗi và cách duy nhất để khôi phục là kích hoạt lại yêu cầu từ đầu.