
Amazon Web Services (AWS) mengatakan memiliki dukungan yang diuji tolok ukur hingga 100 juta pengguna bersamaan (CCU) untuk satu game.
Menggunakan Amazon Gamelift, AWS dapat meringankan masalah hosting server game pengembang dengan secara dinamis meningkatkan sumber daya backend. Tes ini juga memamerkan bagaimana Amazon Gamelift dapat menambah 100.000 pemain ke permainan setiap detik dan memutar lebih dari 9.000 instance komputasi baru setiap menit. Ini menawarkan pengembang kemampuan untuk meningkatkan skala permainan mereka jauh melampaui apa yang sebelumnya mungkin.
Amazon Gamelift adalah layanan berbasis cloud yang membantu pengembang menambahkan server game untuk game multipemain. Itu dibangun di atas AWS.
Perusahaan mencatat pengembang game online menuangkan sumber daya dan hasrat yang luar biasa untuk menghidupkan game dan pembaruan baru. Pada hari -hari peluncuran, upaya -upaya itu dilakukan dalam ujian akhir ketika para pemain membanjiri sistem, tetapi pengembang tidak perlu tahu berapa banyak pemain yang diharapkan. Yang diketahui pengembang adalah bahwa infrastruktur backend yang mendukung lalu lintas yang masuk harus dapat skala secara instan tanpa mengorbankan interaksi pemain, atau seluruh pengalaman berantakan.
Chris Byskal, General Manager AWS Game Services/Game Tech, mengatakan dalam sebuah pernyataan, “Sementara sebagian besar pengembang tidak menerbitkan nomor CCU, data pelacakan tidak resmi menunjukkan bahwa game paling populer di dunia saat ini top sekitar 14 juta CCU, dan Pelaporan SteamDB terbaru menempatkan CCU untuk seluruh platform di tidak cukup 40 juta. Kami memilih 100 juta CCU sebagai metrik tujuan kami untuk menyoroti bagaimana Amazon Gamelift dapat dengan mudah menangani bahkan game terbesar, beberapa kali lipat. ”
Memperkirakan CCU adalah titik awal bagi pengembang untuk menentukan kebutuhan penskalaan game sebelum diluncurkan. Pertimbangan penskalaan tambahan termasuk cara menangani lonjakan lalu lintas dengan cepat, serta alokasi sesi permainan dan geografi pemain.
Tim AWS di belakang Amazon Gamelift memiliki hampir satu dekade pengalaman membantu pelanggan menjalankan permainan mereka dalam skala sambil menghindari kesalahan peluncuran. Ini termasuk menempatkan solusi melalui skenario ekstrem. Untuk panduan langkah demi langkah tentang bagaimana mereka meningkatkan 10 juta CCU dan 100 juta CCU, lihat demonstrasi berikut.
Mempersiapkan skala
Pengembang dapat menggunakan CCU yang diproyeksikan untuk menentukan kapasitas mesin virtual (VM) yang diperlukan untuk kinerja game yang optimal. Misalnya, inilah cara menghitung persyaratan VM untuk mendukung 10 juta CCU untuk permainan, dengan asumsi satu VM dapat mendukung 12 sesi game sebelum kinerja mulai menurun.
Total VMS = CCU / (pemain per game sesi x sesi game per vm)
Total VM = 10.000.000 / (10 x 12) = 83.333
Amazon Gamelift memiliki kapasitas yang tersedia di 23 daerah AWS dan sembilan zona lokal, yang memungkinkannya untuk skala dengan nyaman ke 83.333 VM yang diperlukan untuk mendukung 10 juta CCU. Amazon Gamelift dapat membawa mesin virtual ke dalam layanan dalam hitungan menit, memungkinkan pengembang untuk dengan lancar dan cepat meningkatkan kapasitas dari nol menjadi sepuluh juta pemain. Fungsi autoscaling ini meminimalkan kapasitas idle – menjaga biaya keseluruhan turun.
Menciptakan sesi game dengan cepat dan masuk akal
AWS mengalokasikan pemain untuk menyisihkan kapasitas server game. Semua sesi game harus dijalankan pada proses server game, dan pengembang harus menghindari penetapan beberapa game untuk proses yang sama. Pertimbangkan throughput permintaan alokasi ini:
Permintaan Alokasi / Kedua = CCU / (Pemain per Sesi Game X Detik per Sesi Game)
Permintaan Alokasi / Kedua = 10.000.000 / (10 * 900) = 1112 (pembulatan ke atas)
Berikut adalah pertimbangan lain:
Sesi Game: Memiliki setiap sesi yang ditugaskan untuk satu proses game.
Lokasi: Menetapkan server game dengan latensi rendah ke pemain sesi game.
Biaya: Jika beberapa opsi perangkat keras tersedia, menggunakan kapasitas biaya yang lebih rendah terlebih dahulu.
Kapasitas: Memanfaatkan autoscaling untuk menghindari membayar lebih banyak kapasitas dari yang dibutuhkan.
Penggunaan mesin virtual: Memantau VM mana yang memiliki permainan langsung pada mereka sehingga mereka tidak secara tidak sengaja diakhiri – permainan pemain yang mengganggu.
Kesehatan Kapasitas: Memvalidasi bahwa kapasitas yang dialokasikan sehat (misalnya, menghindari proses server yang tidak responsif).
Jumlah Sesi Game VM: Memulai terlalu banyak sesi game pada VM yang sama dalam waktu singkat mungkin melebihi kemampuan komputasi VM jika ada tindakan berat secara komputasi, seperti memuat peta atau menginisialisasi status game.
Banyak dari pertimbangan ini dapat mempersempit pilihan VM yang sesuai untuk sesi game tertentu. Pada tingkat skala ini, dimungkinkan untuk memiliki 100 sesi permainan yang ingin memulai di satu wilayah AWS selama detik yang sama. Pengembang dapat mencoba mengemas 100 sesi game ini ke dua proses server game idle pada satu VM. Namun, ini berarti 98 dari mereka akan gagal dan perlu menemukan kapasitas idle baru. Sementara itu, lebih banyak sesi permainan mungkin telah tiba dan sedang menunggu untuk memulai, menambah masalah.
Jenis -jenis masalah ini minimal pada tingkat throughput yang rendah, tetapi dengan cepat menjadi masalah besar karena kenaikan tarif. Hal ini dapat menyebabkan apa pun mulai dari waktu mulai permainan yang ditinggikan hingga runtuhnya ketersediaan, yang berpotensi merusak hari peluncuran.
Penskalaan dengan Amazon Gamelift
Setelah Devs mengintegrasikan server game dengan Amazon Gamelift, unggah Game Server yang dapat dieksekusi dan aset tergantung apa pun sebagai build dan buat armada untuk dijalankan di AWS.