bagaimana cara memeriksa apakah seorang pemain game dapat menangani klien sebelum rilis game?


13

kami sedang mengembangkan game berbasis iOS dengan dukungan multi-pemain. sejauh ini semuanya tampak sangat baik tetapi sekarang kami ingin memastikan apakah server dapat menangani 10.000 klien atau tidak. tahu bagaimana saya bisa memastikan server akan selamat dari lalu lintas sebanyak itu?

Jawaban:


15

Untuk pengujian beban lalu lintas ada banyak alat, tetapi Anda perlu menguji hal-hal lain juga yang akan spesifik untuk server permainan Anda karena lalu lintas jaringan hanya satu bagian dari persamaan - penggunaan prosesor dan permintaan basis data konstan adalah dua lainnya yang segera muncul sebagai faktor penting yang ingin Anda ukur (pasti akan ada faktor lain juga, yang harus Anda tentukan berdasarkan pengetahuan Anda tentang cara kerja server game Anda).

Cara yang sangat baik untuk melakukan ini mungkin dengan menulis program klien " simulasi pemain game " dan menjalankan beberapa contoh di beberapa komputer. Sisi buruknya adalah ini memerlukan penggunaan banyak komputer, tetapi beberapa universitas lokal mungkin memiliki laboratorium komputer besar tempat Anda dapat menjalankannya (profesor mungkin tertarik pada hasil pengujian Anda karena profesor universitas cenderung benar-benar ingin tahu tentang penelitian yang bagus).

Klien Anda mungkin tidak perlu secanggih pemain, tetapi Anda mungkin ingin memastikannya melakukan hal-hal berikut (tidak harus sangat cerdas selama bisa sedikit lebih fungsional daripada pengembang perangkat lunak mabuk yang benar-benar tidak boleh mengemudi sendiri di rumah, jadi Anda mungkin juga ingin menandai karakter dengan cara khusus sehingga mereka dapat melakukan hal-hal konyol seperti berjalan menembus dinding, memiliki anggaran tidak terbatas untuk membeli barang yang dipilih secara acak dari pedagang dalam gim, tanpa akhir persediaan amunisi, dan yang lainnya):

  • Kirim teks obrolan acak secara acak
  • Menavigasi ke arah acak di seluruh dunia (tetapi cenderung lebih dekat dengan kota-kota besar)
  • Pilih secara acak untuk menembakkan senjata ke arah acak ketika pemain lain ada di dekatnya
  • Beli / jual barang acak dari pedagang, dan sesekali buang barang di seluruh dunia
  • Secara acak menyalakan benda-benda di atas api (atau menyebabkan bentuk lain dari kerusakan setempat)
  • Membuat gerombolan binatang liar kesal dan lari ke kota yang sibuk dengan mereka mengejar, kemudian secara acak memutuskan apakah akan logout atau tidak (jika dipilih untuk logout, mungkin hewan-hewan liar akan mulai menyerang orang lain di kota?)
  • Sembuhkan pemain yang cedera
  • Berangkatkan mantra sihir yang dipilih secara acak di tempat-tempat ramai
  • Masak makanan mentah, proses kayu mentah dan bahan lainnya (seperti dari penambangan), dll.
  • ... tugas sederhana lain yang cenderung dilakukan oleh pemain Anda secara teratur

Jika Anda memperkirakan bahwa Anda akan memiliki 9.000 pemain pada satu waktu, cobalah untuk menguji ini dengan setidaknya 3 kali jumlah itu sehingga Anda akan tahu bagaimana server Anda dapat menangani beban 27.000 pemain yang disimulasikan sibuk (banyak pemain cenderung untuk menganggur, terutama tipe sosial).

Juga ( dan ini sangat penting ), jika Anda melakukan ini, tolong, Tolong, login, dengan karakter reguler dan rekam video semua pemain terkomputerisasi ini melakukan hal-hal bodoh dan berbagi video itu dengan kami di sini sehingga kami dapat memiliki yang baik tertawa (saya berpikir bahwa " tarian gudang mabuk " mungkin menjadi judul yang bagus untuk film ini jika Anda dapat menemukan skenario yang tepat dalam game)! ;-D


2
Terima kasih banyak tentang jawaban Anda, saya kira kami harus menguji menggunakan pemain simulasi ini, dan berpikir akhirnya kami akan menggunakan salah satu layanan cloud untuk menjalankan klien. seperti halnya sidenote, ini adalah permainan multipemain tetapi pemain hanya dapat menavigasi melalui dunia dan saling berburu, jadi hampir tidak ada tugas yang Anda sebutkan akan dilaksanakan di klien sampel keluar! Saya harap orang berikutnya dengan pertanyaan yang sama akan merilis game simulasi kehidupan untuk menguji semua hal itu!
Ali1S232

Nah, cukup uji apa yang berlaku untuk permainan Anda (selamat datang!). Saya tidak tahu apa-apa tentang fitur gim Anda, jadi saya mencoba memasukkan banyak kemungkinan dengan harapan akan dicakup.
Randolf Richardson

Beberapa game juga memulai dengan beta pra-rilis awal, tetapi ini bisa menjadi keputusan yang sulit karena ada faktor buruk di mana pemain mungkin menemukan mereka tidak menyukai permainan selama tahap beta, dan kemudian tidak pernah kembali untuk mencobanya lagi (meskipun masalah yang mereka temui terselesaikan).
Randolf Richardson

2
-1, jawaban yang tidak realistis. Pengembang game wanita tidak ada. (Jks, +1, menyetujui berbagi hasil tes secara visual).
deceleratedcaviar

3
Saya akan menambahkan bahwa saya telah melakukan ini, untuk MMO pada konsol genggam; pemain simulasi adalah hal terbaik yang pernah ada, untuk menguji bagaimana server akan mengatasi tekanan. Kami juga mengadakan beta tertutup (terbatas pada sekitar 500 orang), dan saya menggunakan statistik yang dihasilkan pada perilaku penguji beta untuk menyetel pemain yang disimulasikan agar berperilaku seperti pemain sebenarnya yang saya bisa kelola. Setelah beta selesai, saya menetapkan 40.000 pemain simulasi longgar untuk bermain-main dengan server. Banyak kekacauan!
Trevor Powell

0

Ini adalah jawaban untuk pertanyaan lama, semoga bisa bermanfaat bagi yang datang ke sini dengan mesin pencari Netgend memiliki platform uji kinerja yang dapat meniru 50.000 VUsers dan dapat melakukan semua emulasi klien yang fleksibel.

Lihat blog , khususnya

  • Jaringan menjadi mudah
  • mengekstrak bidang dari respons server
  • Pengujian kinerja dengan data biner

Perhatikan bahwa pemrosesan pesan tidak terbatas pada pesan http, itu berlaku untuk semua pesan.

Semoga bermanfaat.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.