Perl için istemci kitaplığı, Google Ads API ile etkileşimleri kolaylaştırır ve sizin tarafınızdan minimum yapılandırma gerektirir. 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 tüm diller için geçerlidir. Bu kılavuzda, Perl'e özgü olanlar ele alınmaktadır.
Uygulamanızın profilini çıkarma
Performans sorunlarını belirlemek için uygulamanızın hem CPU hem de bellek kullanımına yönelik profilini oluşturun. Devel::NYTProf, keşfedebileceğiniz güçlü ve özelliklerle dolu bir Perl kaynak kodu profil oluşturucusudur.
Perl sürümü
Genellikle daha iyi genel performans sunduğu için düzenli olarak daha yeni bir Perl sürümüne yükseltmek iyi bir uygulamadır. En son Perl sürümü ve bu sayfadaki kitaplık için gereken minimum sürüm hakkında bilgi edinmek için burayı inceleyin.
Günlük Kaydı
Kapsamlı günlük kaydı, önemli yürütme süresi cezalarına ve bellek tüketimine neden olabilir. Üretimdeki tüm kodlar için günlük kaydı düzeyini WARN
olarak ayarlamanızı öneririz.
Özet ve ayrıntı günlük kaydedicilerinin yapılandırılması hakkında daha fazla bilgi için Günlük kaydı kılavuzuna bakın.
Search veya SearchStream yöntemi
Google Ads API, nesneleri almak için iki ana yöntem sunar: Search
(sayfalandırma kullanır) ve SearchStream
(akış kullanır).
SearchStream
yöntemi, Search
yöntemine göre daha iyi performans sunar ancak Search
yönteminin tercih edilebileceği belirli senaryolar olabilir.
Bu iki yöntem hakkında daha fazla bilgiyi burada bulabilirsiniz.
HTTP zaman aşımı
Perl istemci kitaplığı, istemci düzeyinde HTTP zaman aşımlarını ayarlamak için bir yüzey sağlar:
my $api_client = Google::Ads::GoogleAds::GoogleAdsClient->new({
# Set HTTP timeout to 5 minutes.
http_timeout => 300
});
Varsayılan değer, Constants.pm dosyasındaki DEFAULT_HTTP_TIMEOUT
ayarına göre belirlenir.
Bir API çağrısının maksimum süresine daha kısa bir sınır uygulamanız gerekiyorsa daha düşük bir değer ayarlayın.
Zaman aşımını 2 saat veya daha fazla olarak ayarlayabilirsiniz ancak API, çok uzun süren isteklerde zaman aşımına uğrayabilir ve DEADLINE_EXCEEDED
hatası döndürebilir.
Bu hatayla karşılaşırsanız isteği bölüp parçaları paralel olarak yürütün. Bu sayede, uzun süren bir isteğin başarısız olduğu ve kurtarmanın tek yolunun isteği baştan tekrar tetiklemek olduğu durum önlenir.