Merencanakan latensi API

Latensi adalah waktu hingga Anda menerima respons terhadap permintaan. Panduan ini memberikan urutan besaran latensi untuk permintaan Merchant API. Gunakan nilai ini untuk menetapkan waktu tunggu dan merencanakan throughput integrasi Anda.

Sebagian besar permintaan Merchant API selesai dalam waktu kurang dari satu detik. Pembaruan inventaris lokal dan regional mungkin memerlukan waktu beberapa detik, dan beberapa kueri laporan memerlukan waktu lebih lama.

Latensi umum

Tabel berikut mencantumkan perkiraan latensi berdasarkan jenis permintaan. Latensi umum adalah median: separuh permintaan selesai lebih cepat. 1%paling lambat dari permintaan memerlukan waktu selama yang ditampilkan di kolom terakhir, atau lebih lama.

Jenis permintaan Contoh metode Latensi umum 1% permintaan paling lambat
Operasi baca dan tulis produk products.get, productInputs.insert, productInputs.patch, productInputs.delete 100 hingga 600 milidetik Sekitar 2 detik
Sebagian besar permintaan lainnya products.list, accounts.get, dataSources.list, aggregateProductStatuses.list Kurang dari 1 detik Beberapa detik
Penulisan inventaris lokal dan regional localInventories.insert, regionalInventories.insert, dan metode delete yang sesuai Beberapa detik 10 detik atau lebih
Kueri laporan accounts.reports.search Sekitar setengah detik 30 detik atau lebih

Kueri laporan paling bervariasi. Latensinya bergantung pada tabel laporan yang Anda kueri dan jumlah data yang dicakup oleh kueri tersebut. Sekitar 1 dari 10 kueri laporan biasanya memerlukan waktu lebih dari 2 detik, dan sebagian kecil dapat memerlukan waktu lebih dari satu menit.

Rekomendasi

  • Tetapkan waktu tunggu dengan headroom. Jika Anda menetapkan waktu tunggu permintaan di klien, tetapkan waktu tunggu tersebut jauh di atas latensi paling lambat yang tercantum dalam Latensi umum. Misalnya, waktu tunggu 60 detik memberikan ruang yang cukup untuk sebagian besar permintaan, tetapi tidak untuk semua kueri laporan.
  • Kirim permintaan independen secara paralel. Karena setiap penulisan inventaris memerlukan waktu beberapa detik, mengirimkannya satu per satu akan membatasi throughput Anda. Kirim permintaan independen secara paralel atau gunakan permintaan batch. Saat mengirim beberapa permintaan, perhatikan batas per menit dan batas harian Anda. Untuk mengetahui informasi selengkapnya, lihat Kuota kapasitas.
  • Batasi kueri laporan ke data yang Anda perlukan. Kueri yang mencakup set data besar, seperti rentang tanggal yang panjang, memerlukan waktu lebih lama dan mungkin akan mengalami waktu tunggu habis. Jika Anda memerlukan data dalam jumlah besar, pertimbangkan untuk menggunakan BigQuery. Untuk mengetahui informasi selengkapnya, lihat Memuat data Google Merchant Center ke BigQuery.
  • Coba lagi dengan backoff eksponensial. Jika waktu permintaan habis atau gagal karena error sementara, coba lagi dengan backoff eksponensial.

Waktu pemrosesan

Untuk permintaan yang mengubah data, respons yang berhasil berarti Merchant API menerima perubahan, tetapi pemrosesan berlanjut setelah respons. Waktu pemrosesan adalah waktu dari respons hingga perubahan terlihat di resource lain. Waktu pemrosesan bukan bagian dari latensi, dan bisa jauh lebih lama. Misalnya, perlu waktu beberapa menit hingga produk yang diproses mencerminkan input produk yang dimasukkan.

Untuk mengetahui informasi selengkapnya tentang status akhir data yang diproses, lihat panduan berikut: