Thư viện ứng dụng PHP 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 tất cả các ngôn ngữ. Hướng dẫn này sẽ trình bày những thông tin dành riêng cho PHP.
Triển khai Protobuf
Protobuf được gRPC và API Google Ads sử dụng cho các thông báo yêu cầu và phản hồi. Có 2 cách triển khai, mặc dù cách triển khai được viết bằng C có hiệu suất tốt hơn.
Hãy xem hướng dẫn về Protobuf để biết thêm thông tin.
Chế độ hoạt động của trình thông dịch PHP
PHP là một ngôn ngữ kịch bản linh hoạt và có nhiều chế độ hoạt động tuỳ thuộc vào cách sử dụng. PHP CGI (Common Gateway Interface) có một lợi thế đáng chú ý vì có thể chia sẻ tài nguyên 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 vì phiên bản này thường có hiệu suất tổng thể tốt hơn. Danh sách các phiên bản PHP được hỗ trợ.
Các phiên bản API Google Ads không dùng đến
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 Google Ads API. Đối với mỗi phiên bản Google Ads API mà thư viện ứng dụng hỗ trợ, sẽ có các gói dành riêng cho phiên bản đó.
Bạn có thể xoá các gói dành riêng cho những phiên bản API Google Ads không được dùng khỏi thư viện ứng dụng một cách an toàn. Vì có thể hữu ích trong việc tăng tốc độ thực thi hoặc giảm mức sử dụng bộ nhớ, nên thư viện ứng dụng cung cấp các tiện ích để thực hiện việc này theo phương thức lập trình.
Ví dụ:
Giả sử bạn đang triển khai thư viện ứng dụng chỉ sử dụng phiên bản API mới nhất: v20
và bạn muốn xoá dịch vụ hỗ trợ cho các phiên bản API không dùng đến: v19
và v18
.
Trong tệp composer.json
của dự án, hãy xác định một 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 cung cấp, trong lớp ApiVersionSupport
:
"scripts": {
"remove-google-ads-api-version-support": [
"Google\\Ads\\GoogleAds\\Util\\ApiVersionSupport::remove"
]
}
Sau đó, hãy 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 v18 and v19 of the Google Ads API.
echo "# Removing support..."
composer run-script remove-google-ads-api-version-support -- 18 19
# 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
Đầu ra thực thi mẫu bên dưới cho biết kích thước tệp giảm 50M và phiên bản được hỗ trợ duy nhất còn lại là V20
:
# Supported Google Ads API versions:
V18
V19
V20
# Vendor folder size:
110M ./vendor
# Removing support...
> Google\Ads\GoogleAds\Util\ApiVersionSupport::remove
Removing support for the version 18 of Google Ads API...
Done
Removing support for the version 19 of Google Ads API...
Done
# Supported Google Ads API versions:
V20
# Vendor folder size:
60M ./vendor
Phát triển so với phát hành công khai
PHP là một ngôn ngữ thông dịch vì ngôn ngữ này biên dịch các chỉ dẫn trước khi thực thi. Điều này thường có lợi vì trong thời gian phát triển, các nguồn thường thay đổi trong khi thời gian thực thi không quá quan trọng. Tuy nhiên, điều ngược lại sẽ xảy ra vào thời gian phát hành chính thức vì tính ổn định và hiệu suất trở thành mối lo ngại chính.
Bộ nhớ đệm
Lưu vào bộ nhớ đệm là một việc phổ biến và rất nên làm vì việc này vừa cải thiện hiệu suất vừa tăng độ ổn định bằng cách lưu trữ các chỉ dẫn kịch bản được biên dịch trước.
OPcache là giải pháp được sử dụng phổ biến nhất và có sẵn theo mặc định.
Tự động nạp tiền
Tự động tải là một tính năng phổ biến vì 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 để tự động tải và cung cấp định nghĩa trong tệp composer.json
. Sau đó, bạn có thể sử dụng ngay các lựa chọn chuyên dụng của Composer, chẳng hạn như --optimize-autoloader
hoặc --classmap-authoritative
.
Ghi nhật ký
Việc đặt trình ghi nhật ký ở cấp độ cao như ERROR
có thể giúp giảm chi phí thực thi và mức tiêu thụ bộ nhớ.
Hãy xem Hướng dẫn ghi nhật ký để biết thêm thông tin.
Gỡ lỗi và phân tích tài nguyên
Bạn nên vô hiệu hoá các công cụ gỡ lỗi và lập hồ sơ vì chúng thường đi kèm với một số chi phí thời gian thực thi.
Tải sẵn
Kể từ PHP 7.4, bạn có thể dùng tính năng tải trước OPcache để tải trước các tập lệnh vào bộ nhớ, tiến thêm một bước so với tính năng lưu vào bộ nhớ đệm thông thường.
Một tập lệnh phải được thiết kế để tận dụng tính năng này, nhưng thư viện ứng dụng PHP thì không vì không có cách chung nào để triển khai tính năng tải trước OPcache và sự đánh đổi giữa mức sử dụng bộ nhớ và mức tăng hiệu suất là rất cụ thể đối với một dự án và quá trình thực thi nhất định.