Praktik terbaik latensi jaringan

Dokumen ini berisi daftar praktik terbaik untuk menggunakan Cloud Healthcare API. Pedoman di halaman ini dirancang untuk meningkatkan efisiensi, akurasi, dan waktu respons yang optimal dari layanan.

Memahami performa latensi

Performa Cloud Healthcare API diukur berdasarkan latensi antara:

  1. Saat Anda mengirim permintaan ke Cloud Healthcare API.
  2. Saat Anda menerima respons lengkap terhadap permintaan.

Latensi terdiri dari tiga komponen:

  • Waktu round-trip (RTT)
  • Latensi pemrosesan server
  • Throughput server

Jarak geografis antara Anda dan server yang Anda minta dapat berdampak signifikan terhadap RTT dan throughput server. Throughput dan latensi antar-region yang diukur untuk jaringan Google Cloud dapat ditemukan di dasbor live. Dasbor ini menampilkan performa yang dapat diharapkan klien dari berbagai lokasi saat membuat permintaan ke server Cloud Healthcare API.

Mengukur performa latensi

Alat dan dasbor berikut memberikan cara untuk mengukur performa permintaan ke dan dari server Cloud Healthcare API:

  • Metrik latensi konsol Google Cloud: Anda dapat melihat latensi sisi server untuk permintaan Cloud Healthcare API di Konsol Google Cloud. Untuk informasi selengkapnya, lihat Metrik Google Cloud.

  • Metrik kustom Cloud Logging: Anda dapat membuat metrik distribusi menggunakan Logging. Dengan metrik distribusi, Anda dapat mengonfigurasi dan memahami latensi menyeluruh di aplikasi Anda. Anda juga dapat memantau dan melaporkan pengukuran latensi yang ditentukan secara kustom.

  • Panel jaringan Chrome: Anda dapat memeriksa aktivitas jaringan di Chrome DevTools untuk melihat detail performa permintaan HTTP yang dikirim dari browser.

Mengurangi latensi permintaan

Bagian ini menjelaskan berbagai metode untuk mengurangi latensi permintaan yang dikirim ke Cloud Healthcare API.

Mengirim permintaan ke lokasi regional terdekat

Untuk mendapatkan performa throughput server dan RTT terbaik, kirim permintaan dari klien ke lokasi regional Cloud Healthcare API terdekat. Lihat Region untuk mengetahui daftar region yang tersedia.

Mengirim permintaan pemanasan

Saat klien mengirim permintaan ke server Cloud Healthcare API untuk pertama kalinya selama sesi, klien melakukan handshake TCP dengan server untuk membuat koneksi untuk permintaan HTTP. Setiap permintaan berikutnya dapat terus menggunakan koneksi yang sudah ada ini, sehingga klien dapat menghindari overhead TCP yang biasanya terkait dengan permintaan. Hal ini menghasilkan performa yang lebih baik saat mengirim permintaan.

Mengirim permintaan secara serentak dengan HTTP/1.1 atau HTTP/2

Guna mendapatkan performa terbaik untuk serangkaian permintaan, kirim permintaan secara bersamaan. Gunakan panduan berikut saat mengirim permintaan serentak:

  • Saat mengirim permintaan serentak, cobalah untuk menemukan jumlah ideal untuk jumlah permintaan serentak. Jumlah ideal bergantung pada beberapa faktor, termasuk kemampuan hardware dan jaringan Anda serta jumlah permintaan yang dikirim. Lakukan pengujian untuk menemukan angka yang ideal.
  • Kirim permintaan dari klien menggunakan HTTP/2 jika memungkinkan. HTTP/2 memberikan performa yang lebih baik daripada HTTP/1.1 karena HTTP/2 hanya memerlukan satu koneksi TCP saat mengirim beberapa permintaan secara berurutan atau serentak. Akibatnya, Anda dapat menghindari overhead handshake TCP.
  • Jika tidak memungkinkan untuk menggunakan HTTP/2, gunakan HTTP/1.1 dengan koneksi persisten. Anda dapat menghindari overhead handshake TCP jika permintaan pemanasan telah dikirim. Penggunaan koneksi persisten mungkin mengharuskan Anda untuk mengelola koneksi yang dioptimalkan dengan kumpulan koneksi untuk library HTTP Anda.

    Misalnya, untuk menetapkan kumpulan koneksi dengan 20 permintaan serentak menggunakan library klien HTTP Google untuk Java, kode Anda akan menyertakan hal berikut:

    PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager();
    // Support 20 concurrent requests.
    cm.setDefaultMaxPerRoute(20);
    cm.setMaxTotal(100);
    HTTP_CLIENT = HttpClients.custom().setConnectionManager(cm).build();
    

    Untuk menetapkan kumpulan koneksi dengan 20 permintaan serentak menggunakan Node.js, kode Anda akan menyertakan hal berikut:

    require('http').globalAgent.maxSockets = 20