Dokumen ini mencantumkan 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 dengan latensi antara:
- Saat Anda mengirim permintaan ke Cloud Healthcare API.
- Saat Anda menerima respons lengkap atas permintaan tersebut.
Latensi terdiri dari tiga komponen:
- Waktu round-trip (RTT)
- Latensi pemrosesan server
- Throughput server
Jarak geografis antara Anda dan server tempat Anda membuat permintaan dapat memberikan dampak yang signifikan pada RTT dan throughput server. Latensi dan throughput antar-region yang diukur untuk jaringan Google Cloud dapat ditemukan di dasbor live. Dasbor 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 permintaan Cloud Healthcare API di konsol Google Cloud. Untuk informasi selengkapnya, lihat metrikGoogle Cloud .
Metrik kustom Cloud Logging: Anda dapat membuat metrik distribusi menggunakan Logging. Metrik distribusi memungkinkan Anda mengonfigurasi dan memahami latensi menyeluruh di aplikasi. Anda juga dapat memantau dan melaporkan pengukuran latensi yang ditentukan 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 akan melakukan handshake TCP dengan server untuk membuat koneksi bagi permintaan HTTP. Setiap permintaan berikutnya dapat terus menggunakan koneksi yang dibuat 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
Untuk mendapatkan performa terbaik untuk serangkaian permintaan, kirim permintaan secara serentak. Gunakan panduan berikut saat mengirim permintaan serentak:
- Saat mengirim permintaan serentak, coba temukan jumlah ideal untuk jumlah permintaan serentak. Jumlah idealnya bergantung pada beberapa faktor, termasuk kemampuan hardware dan jaringan Anda serta jumlah permintaan yang dikirim. Lakukan pengujian untuk menemukan jumlah 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. Dengan demikian, Anda dapat menghindari overhead handshake TCP.
Jika tidak dapat menggunakan HTTP/2, gunakan HTTP/1.1 dengan koneksi persisten. Anda dapat menghindari overhead handshake TCP jika permintaan pemanasan telah dikirim. Menggunakan koneksi persisten mungkin mengharuskan Anda mengelola koneksi yang dioptimalkan dengan kumpulan koneksi untuk library HTTP.
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