Performa

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.