Performans

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 oluşturma

Performans darboğazlarını belirlemek 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ındaki iyileştirmelerden yararlanmak için düzenli olarak daha yeni bir Perl sürümüne yükseltin. 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 ile Arama 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ılavuzu'na bakın.

Yük optimizasyonu ve gruplandırma

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ı istek göndermek yerine birden fazla değişiklik işlemini tek bir mutate isteğinde gruplandırın.

HTTP zaman aşımı

Perl istemci kitaplığı, HTTP zaman aşımlarını istemci düzeyinde yapılandırmak için bir ayar sunar:

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. Bir API çağrısının maksimum süresine 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 isteklerde zaman aşımına uğrayabilir ve DEADLINE_EXCEEDED hatası döndürebilir. Bu hatayla karşılaşırsanız isteği daha küçük parçalara bölüp paralel olarak çalıştırı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 durumun önüne geçilir.