Performance

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.