Perl için istemci kitaplığı, minimum yapılandırmayla Google Ads API ile etkileşimi kolaylaştırır. Ancak performans, kitaplığın nasıl kullanıldığına ve entegre edildiğine bağlıdır.
Genel en iyi uygulamaların çoğu tüm diller için geçerlidir. Bu sayfada, Perl'e özel performans kılavuzu yer almaktadır.
Uygulamanızın profilini çıkarma
Performans sorunlarını tespit etmek için uygulamanızın hem CPU hem de bellek kullanımını profilleme. Devel::NYTProf, yürütme süresini analiz etmek için kullanabileceğiniz, özellik açısından zengin bir Perl kaynak kodu profil oluşturucusudur.
Perl sürümü
Çalışma zamanı performans iyileştirmelerinden yararlanmak için düzenli olarak daha yeni bir Perl sürümüne geçin. CPAN Perl kaynak sürümleri sayfasından en son sürümü indirin ve README gereksinimleri bölümünde kitaplık için gereken minimum sürümü kontrol edin.
Günlük Kaydı
Kapsamlı günlük kaydı, yürütme süresini önemli ölçüde uzatabilir ve bellek tüketimini artırabilir. Üretimdeki tüm kodlar için günlük kaydı düzeyini WARN olarak ayarlayın.
Özet ve ayrıntı kaydedicileri yapılandırma hakkında daha fazla bilgi için Günlük kaydı kılavuzuna bakın.
SearchStream ve Search karşılaştırması
Google Ads API, nesneleri almak için iki ana yöntem sunar:
Search (sayfalandırma kullanır) ve
SearchStream (akış kullanır). SearchStream, Search'dan daha iyi performans sağlar ancak Search'ın tercih edilebileceği belirli senaryolar vardır.
İki yöntemin ayrıntılı karşılaştırması için Akış kılavuzuna bakın.
Yük optimizasyonu ve toplu işleme
Ağ ek yükünü ve bellek tüketimini en aza indirmek için:
- Google Ads Sorgu Dili (GAQL) sorgularınızda yalnızca uygulamanızın ihtiyaç duyduğu belirli alanları isteyin.
- Her değişiklik için ayrı istekler göndermek yerine birden fazla değişiklik işlemini tek bir
mutateisteğinde gruplandırın.
HTTP zaman aşımı
Perl istemci kitaplığı, istemci düzeyinde HTTP zaman aşımlarını yapılandırmak için bir ayar sağlar:
my $api_client = Google::Ads::GoogleAds::Client->new({
# Set HTTP timeout to 5 minutes (300 seconds).
http_timeout => 300,
});
Varsayılan değer 3600 saniyedir (1 saat). Bu değer, Constants.pm içindeki DEFAULT_HTTP_TIMEOUT sabitine göre ayarlanır.
API çağrısı için maksimum sürede daha kısa bir sınır uygulamanız gerekiyorsa özel bir istemci zaman aşımı ayarlayın.
Zaman aşımını 2 saat veya daha uzun bir süreye ayarlayabilirsiniz ancak API, son derece uzun süren istekleri zaman aşımına uğratabilir ve DEADLINE_EXCEEDED hatası döndürebilir. Bu hatayla karşılaşırsanız isteği daha küçük parçalara bölün ve bunları paralel olarak yürütün. Bu sayede, uzun süren bir isteğin başarısız olması ve kurtarmanın tek yolunun isteği baştan tekrar tetiklemek olması gibi bir durum önlenir.