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