ID penyebab in-gateway · Penanggung jawab utama Pengembangan server (Tim Pengembang Game) · Turut terlibat Infrastruktur server (Tim Infrastruktur), Pengembangan klien (Tim Pengembang Game)
Jika ada server perantara di antara klien dan server game, setiap kali paket melewatinya ada tambahan waktu pemrosesan, dan server itu menjadi single point of failure.
Mengapa Arsitektur klien ↔ gateway ↔ server game → Akibatnya Ada tambahan pemrosesan dan antrean di server perantara; saat kelebihan beban, semua pemain terdampak → Di layar Ping semua pemain naik; saat gateway mengalami gangguan, semua pemain yang melewatinya disconnect
Penanggung jawab utama Pengembangan server (Tim Pengembang Game) · Turut terlibat Infrastruktur server (Tim Infrastruktur), Pengembangan klien (Tim Pengembang Game)
Tugas Tim Pengembang Game
Server: rancang agar gateway bisa ditambah menjadi beberapa unit, dan agar karakter tetap berlanjut saat tersambung ulang ke gateway lain ketika satu gateway mati (penyambungan ulang sesi). Klien: reconnect otomatis saat koneksi ke gateway terputus.
Tugas Tim Infrastruktur
Scale out gateway secara horizontal (tambah unit), pantau CPU, jumlah koneksi, dan latensi pemrosesan per gateway.
Kisaran angka
Karena masih di dalam data center yang sama, biasanya kurang dari 1 ms setiap kali lewat. Jika gateway kelebihan beban, waktunya naik menjadi puluhan hingga ratusan ms.
Di grafik
Naik mengikuti beban · Latensi pemrosesan gateway, CPU dan jumlah koneksi gateway
Yang diperiksa
Periksa CPU dan jumlah koneksi gateway, Recv-Q socket gateway (ss, netstat), serta selisih latensi sebelum dan sesudah melewati gateway. Untuk pemanggilan HTTP atau gRPC yang lewat service mesh, bandingkan metrik standar Istio istio_request_duration_milliseconds yang dipisah antara sisi pengirim (reporter=source) dan sisi penerima (reporter=destination)
Cocok jika
Waktu pemrosesan server game tetap, tetapi hanya latensi di segmen gateway yang naik, dan pada saat itu CPU gateway jenuh atau Recv-Q menumpuk
Tidak cocok jika
Rute yang tidak lewat gateway (koneksi langsung, gateway lain) juga sama lambatnya: lebih mungkin koneksi atau server game
Sarana pemeriksaan
Tools infrastruktur (tanpa perlu kode game)
Pelajari lebih lanjut
Jika memakai service mesh (misalnya Istio), sidecar proxy (Envoy) yang menempel di samping setiap server juga menambah satu langkah. Permintaan antarlayanan melewati sidecar di sisi pengirim lalu sidecar di sisi penerima, dan makin banyak fitur yang ditambahkan ke proxy, seperti pengumpulan log dan metrik, makin panjang waktu pemrosesan dan waktu tunggunya.
Performance and ScalabilityIstio Dalam mode sidecar, permintaan melewati proxy sidecar di sisi pengirim lalu di sisi penerima; makin banyak fitur ditambahkan, makin panjang jalur pemrosesan di dalam proxy, dan pengumpulan telemetri menambah waktu tunggu permintaan berikutnya
What is EnvoyEnvoy Envoy adalah proses terpisah yang berjalan di samping setiap server aplikasi, dan aplikasi berkomunikasi lewat Envoy di localhost
Istio Standard MetricsIstio istio_request_duration_milliseconds (distribusi waktu pemrosesan permintaan HTTP dan gRPC); label reporter membedakan proxy sisi pengirim (source) dan sisi penerima (destination)
netstat(8) — Linux manual pagenet-tools Recv-Q: jumlah byte di socket yang terhubung yang belum diambil oleh program pengguna
Lihat juga
Lapisan yang sama: L13 Arsitektur dan operasional server