Library klien untuk Perl mempermudah interaksi dengan Google Ads API, dengan konfigurasi minimal dari pihak Anda. Namun, performa sangat bergantung pada cara penggunaan dan integrasi library.
Sebagian besar praktik terbaik ini berlaku untuk semua bahasa. Panduan ini membahas yang khusus untuk Perl.
Membuat profil aplikasi Anda
Buat profil aplikasi Anda untuk penggunaan CPU dan memori guna mengidentifikasi hambatan 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 menghasilkan 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 setel tingkat logging ke WARN
untuk kode apa pun dalam produksi.
Lihat Panduan logging untuk mengetahui detail selengkapnya tentang konfigurasi pencatat log 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 di mana metode Search
lebih disukai.
Anda dapat mempelajari lebih lanjut kedua metode tersebut di sini.
Waktu tunggu HTTP habis
Library klien Perl menyediakan platform untuk menyetel 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 pendek pada waktu maksimum untuk panggilan API.
Anda dapat menyetel waktu tunggu hingga 2 jam atau lebih, tetapi API mungkin masih mengalami waktu tunggu untuk permintaan yang berjalan sangat lama dan menampilkan error DEADLINE_EXCEEDED
.
Jika Anda mengalami error tersebut, pisahkan permintaan dan jalankan potongan secara paralel; hal ini menghindari situasi saat permintaan yang berjalan lama gagal dan satu-satunya cara untuk memulihkan adalah memicu permintaan lagi dari awal.