Hiệu suất

Thư viện ứng dụng cho Perl giúp đơn giản hoá các lượt tương tác bằng Google Ads API, với cấu hình tối thiểu từ phía bạn. Tuy nhiên, hiệu suất phụ thuộc đáng kể 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 chung đều áp dụng cho mọi ngôn ngữ. Trang này trình bày hướng dẫn về hiệu suất dành riêng cho Perl.

Lập hồ sơ cho ứ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 tài nguyên mã nguồn Perl có nhiều tính năng mà bạn có thể dùng để phân tích thời gian thực thi.

Phiên bản Perl

Thường xuyên nâng cấp lên phiên bản Perl mới hơn để hưởng lợi từ những cải tiến về hiệu suất thời gian chạy. Tải bản phát hành mới nhất xuống từ các bản phát hành nguồn CPAN Perl và kiểm tra phiên bản tối thiểu bắt buộc cho thư viện trong các yêu cầu của README.

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ớ. Đặ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 về cách định cấu hình trình ghi nhật ký tóm tắt và chi tiết.

SearchStream so với Tìm kiếm

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 Search, mặc dù có một số trường hợp mà Search có thể được ưu tiên.

Để biết thông tin so sánh chi tiết về hai phương thức này, hãy xem Hướng dẫn phát trực tuyến.

Tối ưu hoá và xử lý hàng loạt tải trọng

Để giảm thiểu mức hao tổn mạng và mức tiêu thụ bộ nhớ:

  • Chỉ yêu cầu các trường cụ thể mà ứng dụng của bạn cần trong các truy vấn bằng Ngôn ngữ truy vấn của Google Ads (GAQL).
  • Nhóm nhiều thao tác biến đổi thành một yêu cầu mutate duy nhất thay vì gửi các yêu cầu riêng lẻ cho từng thay đổi.

Hết thời gian chờ HTTP

Thư viện ứng dụng Perl cung cấp một chế độ cài đặt để định cấu hình thời gian chờ HTTP ở cấp ứng dụng:

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

Giá trị mặc định là 3600 giây (1 giờ), được đặt dựa trên hằng số DEFAULT_HTTP_TIMEOUT trong Constants.pm. Đặt thời gian chờ tuỳ chỉnh của ứng dụng 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ờ thành 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 này, hãy chia yêu cầu thành các phần nhỏ hơn và thực thi chúng 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.