Performa

Library klien untuk Perl memudahkan interaksi dengan Google Ads API, dengan upaya konfigurasi di pihak Anda. Namun, performa sangat bergantung pada library yang digunakan dan diintegrasikan.

Sebagian besar praktik terbaik ini berlaku untuk semua bahasa. Panduan ini membahas beberapa hal yang khusus untuk Perl.

Membuat profil aplikasi

Membuat profil aplikasi untuk penggunaan CPU dan memori guna mengidentifikasi performa kemacetan. Devel::NYTProf adalah software yang {i>source code<i} Perl yang kaya fitur yang dapat Anda jelajahi.

Versi Perl

Praktik yang baik adalah secara teratur meng-upgrade ke versi Perl yang lebih baru seperti biasanya menghasilkan performa keseluruhan yang lebih baik. Lihat di sini untuk mengetahui Perl terbaru, dan versi minimum yang diperlukan untuk library dalam halaman.

Logging

Logging yang ekstensif dapat menimbulkan penalti waktu eksekusi dan memori yang signifikan pengguna. Sebaiknya setel level logging ke WARN untuk semua kode di produksi.

Lihat Panduan logging untuk informasi selengkapnya detail tentang konfigurasi {i>summary<i} dan {i>detail logger<i}.

Metode Penelusuran atau SearchStream

Google Ads API menyediakan dua metode utama untuk mengambil objek -- Search (yang menggunakan penomoran halaman) dan SearchStream (yang menggunakan streaming). SearchStream memberikan performa yang lebih baik dibandingkan metode Search, tetapi mungkin ada skenario tertentu di mana metode Search mungkin lebih disarankan.

Anda dapat mempelajari kedua metode tersebut lebih lanjut di sini.

Waktu tunggu HTTP habis

Library klien Perl menyediakan platform untuk menyetel waktu tunggu HTTP pada klien tingkat:

my $api_client = Google::Ads::GoogleAds::GoogleAdsClient->new({
  # Set HTTP timeout to 5 minutes.
  http_timeout   => 300
});

Nilai default ditetapkan berdasarkan setelan DEFAULT_HTTP_TIMEOUT di Constants.pm. Tetapkan nilai yang lebih rendah jika Anda perlu menerapkan batas waktu maksimum yang lebih singkat untuk panggilan API.

Anda dapat menyetel waktu tunggu ke 2 jam atau lebih, tetapi API mungkin masih kehabisan waktu permintaan yang berjalan sangat lama dan menampilkan Error DEADLINE_EXCEEDED. Jika Anda menemukan {i>error<i} itu, bagi permintaan tersebut dan jalankan potongannya dalam paralel; ini menghindari situasi di mana permintaan yang berjalan lama gagal dan satu-satunya cara untuk memulihkan adalah memicu permintaan lagi dari awal.