Hiệu suất

Thư viện ứng dụng PHP giúp bạn dễ dàng tương tác với API Google Ads một cách dễ dàng nhất cấu hình từ phía bạn. Tuy nhiên, hiệu suất phụ thuộc rất lớn vào cách thư viện được sử dụng và tích hợp.

Bạn có thể áp dụng hầu hết các phương pháp hay nhất này cho tất cả các ngôn ngữ. Hướng dẫn này trình bày các phần dành riêng cho PHP.

Triển khai Protobuf

gRPC sử dụng Protobuf và API Google Ads cho các thông báo yêu cầu và phản hồi. Hai cách triển khai là khả dụng, mặc dù văn bản được viết bằng C có hiệu suất tốt hơn.

Xem hướng dẫn về Protobuf để biết thêm thông tin.

Chế độ hoạt động của trình phiên dịch PHP

PHP là một tập lệnh linh hoạt ngôn ngữ và có nhiều hoạt động tuỳ theo mức sử dụng. PHP CGI (Giao diện cổng chung) có một lợi thế đáng chú ý vì có thể chia sẻ giữa các lần thực thi.

Phiên bản PHP

Bạn nên thường xuyên nâng cấp lên phiên bản PHP mới hơn như thường lệ đi kèm với hiệu suất tổng thể tốt hơn. Danh sách các PHP được hỗ trợ phiên bản.

Các phiên bản API Google Ads không được sử dụng

Tất cả các phiên bản của thư viện ứng dụng đều hỗ trợ nhiều phiên bản API Google Ads. Đối với mỗi phiên bản API Google Ads mà thư viện ứng dụng hỗ trợ, có cho phiên bản.

Các gói dành riêng cho các phiên bản API Google Ads không được sử dụng có thể đã được xoá an toàn khỏi thư viện ứng dụng. Vì việc tăng tốc độ thực thi hoặc giảm mức sử dụng bộ nhớ, thư viện ứng dụng sẽ cung cấp các tiện ích để thực hiện theo cách có lập trình.

Ví dụ:

Giả sử rằng bạn đang triển khai thư viện ứng dụng chỉ sử dụng Phiên bản API: v17 và bạn muốn ngừng hỗ trợ cho phiên bản API không sử dụng Các phiên bản API: v16v15.

Trong tệp composer.json của dự án, hãy xác định tập lệnh Composer (có tên là remove-google-ads-api-version-support) tận dụng tiện ích do thư viện ứng dụng, trong lớp ApiVersionSupport:

"scripts": {
  "remove-google-ads-api-version-support": [
    "Google\\Ads\\GoogleAds\\Util\\ApiVersionSupport::remove"
  ]
}

Sau đó, sử dụng tập lệnh Composer với số phiên bản làm tham số và in một số thông báo trạng thái:

# Change the current directory to the project directory.
cd /path/to/the/project

# Install the project.
composer install

# Output the vendor folder size and the list of Google Ads API versions that are
# supported before removing support for Google Ads API versions.
echo "# Supported Google Ads API versions:"
find ./vendor/googleads/google-ads-php/src/Google/Ads/GoogleAds/V* -maxdepth 0 | grep -o '..$'
echo "# Vendor folder size:"
du -sh ./vendor

# Use the Composer script to remove the unused versions v15 and v16 of the Google Ads API.
echo "# Removing support..."
composer run-script remove-google-ads-api-version-support -- 15 16

# Output the vendor folder size and the list of Google Ads API versions that are
# supported after removing support for Google Ads API versions.
echo "# Supported Google Ads API versions:"
find ./vendor/googleads/google-ads-php/src/Google/Ads/GoogleAds/V* -maxdepth 0 | grep -o '..$'
echo "# Vendor folder size:"
du -sh ./vendor

Kết quả thực thi mẫu bên dưới cho biết kích thước tệp giảm 50M và chỉ phiên bản được hỗ trợ còn lại là V17:

# Supported Google Ads API versions:
V15
V16
V17
# Vendor folder size:
110M    ./vendor
# Removing support...
> Google\Ads\GoogleAds\Util\ApiVersionSupport::remove
Removing support for the version 15 of Google Ads API...
Done
Removing support for the version 16 of Google Ads API...
Done
# Supported Google Ads API versions:
V17
# Vendor folder size:
60M     ./vendor

Phát triển so với sản xuất

PHP là một ngôn ngữ được diễn giải ở chỗ trước tiên, mã đó biên dịch các lệnh trước khi thực thi. Việc này thường vì trong thời gian phát triển, các nguồn thường thay đổi trong quá trình thực thi thì thời gian không quan trọng đến vậy. Tuy nhiên, điều ngược lại đúng trong thời gian sản xuất tính ổn định và hiệu suất trở thành những mối quan tâm chính.

Bộ nhớ đệm

Việc lưu vào bộ nhớ đệm là việc phổ biến và được khuyên dùng vì vừa cải thiện hiệu suất và tăng tính ổn định bằng cách lưu trữ các hướng dẫn tập lệnh được biên dịch trước.

OPcache là tập dữ liệu thường dùng nhất và có sẵn theo mặc định.

Tự động nạp tiền

Tự động nạp tiền là phổ biến vì nó vừa cải thiện hiệu suất, vừa tăng độ ổn định bằng cách tải thông tin được biên dịch trước về các lớp.

Thư viện ứng dụng PHP tuân thủ PSR-4 dành cho tự động tải và cung cấp định nghĩa như một phần của composer.json . Các tuỳ chọn riêng về Composer, chẳng hạn như --optimize-autoloader hoặc --classmap-authoritative chẳng hạn, sau đó có thể là đã được sử dụng ngay khi mở hộp.

Ghi nhật ký

Việc đặt trình ghi nhật ký ở cấp cao như ERROR có thể giúp giảm thời gian thực thi chi phí và mức tiêu thụ bộ nhớ.

Xem Hướng dẫn ghi nhật ký để biết thêm thông tin.

Gỡ lỗi & lập hồ sơ

Bạn nên tắt các công cụ trình gỡ lỗi và phân tích tài nguyên vì những công cụ này thường đi kèm với hao tổn thời gian thực thi.

Tải sẵn

Kể từ PHP 7.4, OPcache tải trước có thể được dùng để tải trước tập lệnh trong bộ nhớ, tăng thêm một bước so với thông thường lưu vào bộ nhớ đệm.

Một tập lệnh phải được thiết kế để tận dụng tính năng này, nhưng PHP vì không có cách nào chung để triển khai OPcache cài đặt trước và sự đánh đổi giữa mức sử dụng bộ nhớ và mức tăng hiệu suất đối với một dự án và quá trình thực thi nhất định.