Performans

PHP istemci kitaplığı, minimum yapılandırmayla Google Ads API ile etkileşimleri kolaylaştırır. Ancak performans, kitaplığın nasıl kullanıldığına ve entegre edildiğine büyük ölçüde bağlıdır.

Bu en iyi uygulamaların çoğu kullanılabilir tüm dillerde çalışır. Bu kılavuzda, PHP'ye özgü olanlar ele alınmaktadır.

Protobuf uygulaması

Protobuf, istek ve yanıt mesajları için gRPC ve Google Ads API tarafından kullanılır. İki uygulama daha iyi performans gösterir.

Daha fazla bilgi için Protobuf rehberine bakın.

PHP yorumlayıcının çalışma modu

PHP, çok yönlü bir komut dosyasıdır dilden ve birçok işleme sahiptir. farklı modları kullanabilirsiniz. PHP CGI (Common Gateway Interface), kaynaklar arasında yürütmeler arasında paylaşım yapabildiğinden önemli bir avantaja sahiptir.

PHP sürümü

Genellikle yeni PHP sürümüne yükseltme yapmak önerilir. Bu iyi bir uygulamadır. genel performansın artmasını sağlar. Desteklenen PHP listesi sürümleri hakkında daha fazla bilgi edinin.

Kullanılmayan Google Ads API sürümleri

İstemci kitaplığının tüm sürümleri birden fazla Google Ads API sürümünü destekler. İstemci kitaplığı tarafından desteklenen her Google Ads API sürümü için sürüme özel paketler.

Google Ads API'nin kullanılmayan sürümlerine özel paketler, istemci kitaplığından güvenli bir şekilde kaldırılabilir. Yürütmeyi hızlandırmak veya bellek ayak izini azaltmak yararlı olabileceğinden istemci kitaplığı, bunu programatik olarak yapmanızı sağlayan yardımcı programlar sağlar.

Örnek

Yalnızca en son API sürümünü (v18) kullanan istemci kitaplığını uyguladığınızı ve kullanılmayan API sürümleri (v17 ve v16) için desteği kaldırmak istediğinizi varsayalım.

Projenin composer.json dosyasında, ApiVersionSupport sınıfında istemci kitaplığı tarafından sağlanan yardımcı programdan yararlanan bir Composer komut dosyası (remove-google-ads-api-version-support adlı) tanımlayın:

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

Ardından, Composer komut dosyasını parametre olarak sürüm numaralarını kullanarak kullanın ve bazı durum mesajlarını yazdırın:

# 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 v16 and v17 of the Google Ads API.
echo "# Removing support..."
composer run-script remove-google-ads-api-version-support -- 16 17

# 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

Aşağıdaki örnek yürütme çıkışında, dosya boyutunda 50 MB'lık bir azalma ve desteklenen tek sürümün V18 olduğu görülüyor:

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

Geliştirme ve üretim

PHP, talimatları çalıştırmadan önce derlediği için anlaşılabilir bir dildir. Bu genelde Kaynaklar geliştirme sırasında genellikle değiştiğinden daha avantajlıdır. o kadar da önemli değil. Ancak üretim sırasında asıl endişeler kararlılık ve performans olduğu için bunun tam tersi geçerlidir.

Önbellek

Önbelleğe alma hem performansı artırdığı için hem de yaygın bir şekilde önerilir ve önceden derlenmiş komut dosyası talimatlarını depolayarak kararlılığı artırır.

OPcache en sık kullanılan varsayılan olarak kullanılabilir durumdadır.

Otomatik yükleme

Otomatik yükleme yaygındır Çünkü yükleme yaparak hem performansı iyileştiriyor hem de kararlılığı artırıyor önceden derlenmiş bilgiler sağlar.

PHP istemci kitaplığı, otomatik yükleme için PSR-4'e uygundur ve tanımı composer.json dosyasının bir parçası olarak sağlar. Composer'ın özel seçenekleri (ör. --optimize-autoloader veya --classmap-authoritative) bu durumda hazır olarak kullanılabilir.

Günlük Kaydı

Günlük kaydedicileri ERROR gibi yüksek bir düzeye ayarlamak yürütme süresini azaltmaya yardımcı olabilir tükettiğini düşünelim.

Daha fazla bilgi için Günlük kaydı kılavuzuna bakın.

Hata ayıklama ve profil çıkarma

Hata ayıklayıcı ve profil aracı araçlarının genellikle devre dışı bırakılmasını öneririz. ek maliyet yaratır.

Önceden Yükle

PHP 7.4'ten beri, komut dosyalarını belleğe önceden yüklemek için OPcache önceden yükleme özelliği kullanılabilir. Bu özellik, normal önbelleğe alma işleminden bir adım daha ileri gider.

Bu özellikten yararlanmak için bir komut dosyasının tasarlanması gerekir ancak PHP, OPcache'yi uygulamanın genel bir yolu olmadığından istemci kitaplığı bellek kullanımı ile performans kazancı arasında bir denge kurun. belirli bir süreye özgüdür.