Performans

Perl'in istemci kitaplığı, sizin tarafınızdan minimal düzeyde yapılandırmayla Google Ads API ile etkileşimleri kolaylaştırır. Ancak performans büyük ölçüde kitaplığın nasıl kullanıldığına ve entegre olduğuna bağlıdır.

Bu en iyi uygulamaların çoğu tüm dillerde geçerlidir. Bu kılavuzda Perl'e özel neler ele alınmıştır.

Uygulamanızın profilini çıkarma

Performans sorunlarını belirlemek için uygulamanızın hem CPU hem de bellek kullanımı profilini çıkarın. Devel::NYTProf, keşfedebileceğiniz, zengin özelliklere sahip güçlü bir Perl kaynak kodu profil aracıdır.

Perl sürümü

Perl'in genel performansı genellikle daha iyi olduğundan, bu sürümü düzenli olarak yeni bir Perl sürümüne yükseltmek iyi bir uygulamadır. Perl'in en son sürümü ve kitaplık için gereken minimum sürüm için buraya bu sayfadan ulaşabilirsiniz.

Günlük Kaydı

Kapsamlı günlük kaydı, önemli yürütme süresi cezaları ve bellek tüketimine neden olabilir. Üretim aşamasındaki tüm kodlar için günlük kaydı düzeyini WARN olarak ayarlamanızı öneririz.

Özet ve ayrıntı günlük kaydı araçlarının 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 temel yöntem sunar: Search (sayfalara ayırma kullanır) ve SearchStream (akış yöntemini kullanır). SearchStream, Search yöntemine kıyasla daha iyi performans sağlar ancak Search yönteminin tercih edildiği belirli senaryolar olabilir.

Buradan iki yöntem hakkında daha fazla bilgi edinebilirsiniz.

HTTP zaman aşımı

Perl istemci kitaplığı, istemci düzeyinde HTTP zaman aşımlarının ayarlanması 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'deki DEFAULT_HTTP_TIMEOUT ayarına göre belirlenir. API çağrısı için maksimum süre için daha kısa bir sınır uygulamanız gerekiyorsa daha düşük bir değer belirleyin.

Zaman aşımını 2 saat veya daha uzun olacak şekilde ayarlayabilirsiniz ancak API yine de çok uzun süreli istekleri zaman aşımına uğratabilir ve DEADLINE_EXCEEDED hatası döndürebilir. Bu hatayla karşılaşırsanız isteği bölün ve parçaları paralel olarak yürütün. Böylece uzun süreli bir isteğin başarısız olması önlenir ve kurtarmanın tek yolu isteği baştan tetiklemektir.