Thư viện ứng dụng cho Perl giúp bạn dễ dàng tương tác với 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 tất cả 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.
Phân tích ứ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ừ các điểm cải thiện hiệu suất trong thời gian chạy. Tải bản phát hành mới nhất từ 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 yêu cầu README.
Ghi nhật ký
Việc ghi nhật ký quá nhiều có thể làm tăng đáng kể thời gian thực thi và mức tiêu thụ bộ nhớ. Đặt cấp độ ghi nhật ký thành WARN cho mọi mã trong môi trường thực 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.
SearchStream so với Search
Google Ads API cung cấp hai 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 Search, mặc dù có một số trường hợp nên ưu tiên Search.
Để xem thông tin so sánh chi tiết về hai phương thức này, hãy xem Hướng dẫn về tính năng truyền trực tuyến.
Tối ưu hoá và gom theo lô tải trọng
Cách 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 Ngôn ngữ truy vấn Google Ads (GAQL).
- Nhóm nhiều thao tác thay đổi thành một yêu cầu
mutateduy 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 lỗi này, hãy chia yêu cầu thành các phần nhỏ hơn và thực thi song song. Điều này giúp tránh trường hợp một 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.