Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
GAMEOPS05-BP01 Pilih kerangka kerja tahap, arsitektur, dan pengujian beban yang tepat untuk memenuhi tujuan Anda
Pendekatan untuk memuat pengujian permainan dapat sangat bervariasi tergantung pada banyak faktor, termasuk tahap proses pengembangan yang dilakukan, arsitektur sistem penghasil beban itu sendiri, dan pilihan kerangka pengujian beban. Waktu kapan dilakukan, baik pada fase awal, selama sprint iteratif, sebelum penerapan produksi, atau pasca-penyebaran, akan membentuk tujuan dan fokus upaya pengujian. Desain infrastruktur penghasil beban yang berbeda memiliki pro dan kontra sendiri, dan pemilihan kerangka pengujian beban sangat memengaruhi kemampuan, kemudahan penggunaan, dan integrasi yang tersedia untuk proses pengujian. Dengan menyelaraskan elemen-elemen ini dengan cermat, tim pengembangan dapat menyesuaikan pendekatan pengujian beban dengan karakteristik unik permainan, mengekstrak wawasan kinerja yang paling berharga, dan memberikan pengalaman yang lancar bagi para pemain mereka.
Tingkat risiko yang terjadi jika praktik terbaik ini tidak diterapkan: Tinggi
Panduan implementasi
Pengujian beban dalam berbagai tahap pengembangan
Melakukan pengujian beban eksplorasi di awal fase pengembangan dapat memvalidasi arsitektur sistem yang mendasarinya. Ini membantu pengembang untuk membuat keputusan berdasarkan informasi tentang infrastruktur game, desain database, dan topologi jaringan sebelum pekerjaan implementasi ekstensif dilakukan. Tes beban mengidentifikasi risiko dan menciptakan baseline kinerja, berpotensi meminimalkan kebutuhan akan pengerjaan ulang yang mahal dan utang teknis di kemudian hari dalam siklus hidup pengembangan. Mereka juga dapat menumbuhkan pemahaman bersama tentang persyaratan kinerja permainan di antara tim, yang mengarah pada kolaborasi dan pengambilan keputusan yang lebih baik. Pada akhirnya, pengujian beban selama fase awal membangun fondasi yang kuat untuk permainan berkinerja tinggi, terukur, dan tangguh, membantu meningkatkan pengalaman pemain secara keseluruhan.
Pada akhir setiap sprint atau iterasi, pengujian beban dapat mengevaluasi dampak kinerja fitur baru, perbaikan bug, dan perubahan lain yang diperkenalkan dalam siklus terbaru. Pendekatan yang ditargetkan ini memungkinkan tim pengembangan untuk dengan cepat mengidentifikasi regresi atau penurunan kinerja yang diperkenalkan oleh pembaruan terbaru, memungkinkan mereka untuk mengatasi masalah ini sebelum mereka disebarkan lebih jauh ke bawah dan mempertahankan tingkat kualitas dan kinerja yang konsisten.
Sebelum dikerahkan ke produksi, pengujian beban yang kuat membantu tim memvalidasi kemampuan sistem untuk menangani kondisi lalu lintas dan beban dunia nyata yang diantisipasi. Mereka dapat mengungkap hambatan skalabilitas atau kendala sumber daya dalam infrastruktur produksi dan memberikan kesempatan untuk mengoptimalkan kinerja game, menciptakan pengalaman pengguna yang lancar dan responsif sejak hari pertama. Wawasan yang diperoleh dari pengujian beban pra-peluncuran dapat mengurangi risiko hari peluncuran dan menginformasikan perencanaan kapasitas yang sedang berlangsung, yang meletakkan dasar bagi keberlanjutan dan skalabilitas jangka panjang game.
Load testing game yang sudah aktif dalam produksi memungkinkan tim untuk memantau kinerja game dan mengidentifikasi regresi kinerja atau degradasi yang mungkin terjadi dari waktu ke waktu. Hal ini memungkinkan mereka untuk secara proaktif mengatasi masalah sebelum berdampak pada pengalaman pemain dan berdampak negatif pada retensi pengguna. Selain itu, pengujian beban dalam produksi memvalidasi efektivitas upaya optimalisasi kinerja atau penskalaan infrastruktur yang telah diterapkan. Proses ini memberikan pengalaman bermain game berkualitas tinggi, responsif, dan terukur bagi para pemain bahkan saat game berkembang dan matang.
Arsitektur penghasil beban
Desain arsitektur penghasil beban untuk pengujian beban game dapat mengambil berbagai bentuk, masing-masing dengan serangkaian keunggulan dan pertimbangannya sendiri.
Pada tingkat yang paling dasar, EC2 instans Amazon
Untuk pendekatan yang lebih skalabel dan terorkestrasi, Anda dapat menggunakan klaster Amazon EKS
Atau, sifat tanpa server AWS Fargate
Anda juga dapat menggunakan AWS Lambda
Studio yang ingin menggunakan solusi pra-bangun dapat menggunakan Pengujian Beban Terdistribusi. AWS Solusi ini menggunakan Amazon ECS AWS Fargate untuk menyebarkan kontainer yang dapat menjalankan simulasi puluhan ribu pengguna yang terhubung. Anda dapat menggunakan ini untuk memulai infrastruktur pengujian beban Anda dengan cepat dalam mode IAC menggunakan AWS CloudFormation.
Memuat kerangka pengujian
Tidak ada dua kerangka pengujian beban yang dibangun sama. Beberapa memiliki antarmuka grafis intuitif untuk pembuatan pengujian, sementara yang lain sepenuhnya berbasis baris perintah. Satu alat mungkin fleksibel dan berkinerja tetapi membutuhkan waktu dan upaya untuk mengkonfigurasi dan mengelola, dan yang lain mungkin tanpa server tetapi terbatas dalam pengujian yang dapat dibuat dan dijalankan. Beberapa menikmati komunitas besar dan banyak tutorial sementara tidak terbukti di lapangan, sangat kontras dengan yang lain yang mungkin diuji dalam pertempuran dalam produksi tetapi tidak memiliki dukungan atau dokumentasi komunitas. Pilih kerangka kerja yang memberikan keseimbangan yang tepat untuk Anda dan tim Anda. Beberapa opsi populer adalah:
-
Apache JMeter
: Kerangka pengujian beban open-source berbasis Java yang populer karena rangkaian fiturnya yang kuat dan kemudahan penggunaan. Kemampuannya untuk mensimulasikan skenario pengguna yang kompleks, berbagai protokol yang didukung, pelaporan komprehensif, dan rekam jejak yang terbukti membuat pilihan JMeter yang andal untuk pengujian beban. -
Locust
: Kerangka pengujian beban terdistribusi modern yang dibangun di atas arsitektur berbasis peristiwa, membuatnya berkinerja sementara hemat sumber daya. Pengujian ditulis dengan Python, memungkinkan skenario pengujian fleksibel yang memanfaatkan ribuan pustaka pihak ketiga yang kuat, sambil tetap ramah dan mudah dibaca. -
Grafana K6
: Kerangka pengujian beban yang kuat yang menggabungkan kemudahan penggunaan dengan kemampuan canggih. Dukungannya untuk pembuatan beban terdistribusi, skrip fleksibel, dan integrasi tanpa batas dengan Grafana untuk visualisasi data menjadikan Grafana K6 pilihan yang menarik. -
Gatling
: Kerangka pengujian beban sumber terbuka yang dikenal karena kinerja dan skalabilitasnya. Bahasa khusus domain (DSL) berbasis SCALA memungkinkan pengembang untuk membuat skrip pengujian beban yang ringkas dan dapat dipelihara, dan kemampuan pelaporan dan analisisnya yang kuat memberikan wawasan terperinci tentang sistem yang diuji.
Langkah-langkah implementasi
-
Tahap pengujian beban: Melakukan pengujian beban pada berbagai tahap pengembangan (pengembangan awal, sprint, pra-produksi, dan pasca-penerapan) untuk memvalidasi kinerja sistem dan mengidentifikasi masalah.
-
Arsitektur penghasil beban: Pilih arsitektur penghasil beban yang sesuai (, EC2 EKS, Fargate, atau Lambda) berdasarkan kebutuhan skalabilitas, preferensi manajemen, dan persyaratan pengujian khusus.
-
Kerangka kerja pengujian beban: Pilih kerangka pengujian beban (seperti JMeter, Locust, Grafana K6, atau Gatling) yang menyeimbangkan kemudahan penggunaan, kinerja, fleksibilitas, dan dukungan komunitas agar sesuai dengan kebutuhan tim Anda.