Performans

Perl için 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 tüm diller için geçerlidir. Bu rehberde Perl'e özgü olanları ele alacağız.

Uygulamanızın profilini çıkarma

Performans darboğazlarını belirlemek için uygulamanızı hem CPU hem de bellek kullanımı açısından profilleyin. Devel::NYTProf, keşfedebileceğiniz güçlü ve zengin özelliklere sahip bir Perl kaynak kodu profilleyicisidir.

Perl sürümü

Genellikle daha iyi genel performans sundukları için düzenli olarak daha yeni bir Perl sürümüne geçmek iyi bir uygulamadır. En son Perl sürümü için buraya, kitaplığın gerektirdiği minimum sürüm için de bu sayfaya bakın.

Günlük Kaydı

Ayrıntılı 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ükleyicilerinin yapılandırması 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 sağlar: Search (sayfalandırma kullanılır) ve SearchStream (akış kullanılır). SearchStream, Search yöntemine kıyasla daha iyi performans sağlar 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 seviyesinde 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ında DEFAULT_HTTP_TIMEOUT ayarına göre belirlenir. Bir API çağrısının maksimum süresi için 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 isteklerin zaman aşımına uğramasına ve DEADLINE_EXCEEDED hatası döndürmesine neden olabilir. Bu hatayla karşılaşırsanız isteği bölün ve parçaları paralel olarak yürütün. Bu sayede, uzun süre çalışan bir isteğin başarısız olduğu ve tek kurtarma yönteminin isteği baştan tetiklemek olduğu durumlar önlenir.