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.