Performans

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.