Library klien untuk Perl memudahkan interaksi dengan Google Ads API, dengan konfigurasi minimal di pihak Anda. Namun, performanya sangat bergantung pada cara library digunakan dan diintegrasikan.
Sebagian besar praktik terbaik ini berlaku untuk semua bahasa. Panduan ini membahas opsi khusus untuk Perl.
Membuat profil aplikasi
Buat profil aplikasi Anda untuk penggunaan CPU dan memori guna mengidentifikasi hambatan performa. Devel::NYTProf adalah profiler kode sumber Perl yang kaya fitur dan dapat Anda jelajahi.
Versi Perl
Sebaiknya upgrade secara rutin ke versi Perl yang lebih baru karena biasanya memiliki performa keseluruhan yang lebih baik. Lihat di sini untuk versi Perl terbaru, dan versi minimum yang diperlukan untuk library di halaman ini.
Logging
Logging yang ekstensif dapat menyebabkan penalti waktu eksekusi dan konsumsi
memori yang signifikan. Sebaiknya setel level logging ke WARN
untuk kode apa pun dalam
produksi.
Lihat Panduan logging untuk mengetahui detail selengkapnya tentang konfigurasi logger ringkasan dan detail.
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 yang mungkin lebih memilih metode Search
.
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 level klien:
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 yang lebih singkat pada waktu maksimum untuk panggilan API.
Anda dapat menetapkan waktu tunggu ke 2 jam atau lebih, tetapi API mungkin masih kehabisan waktu tunggu
permintaan yang berjalan sangat lama dan menampilkan
error DEADLINE_EXCEEDED
.
Jika Anda mengalami error tersebut, bagi permintaan dan jalankan potongan secara
paralel. Hal ini untuk menghindari situasi ketika permintaan yang berjalan lama gagal dan
satu-satunya cara untuk memulihkannya adalah dengan memicu permintaan lagi dari awal.