จะตรวจสอบว่าเซิร์ฟเวอร์เกมสามารถจัดการกับลูกค้าก่อนที่เกมจะวางจำหน่ายได้อย่างไร?


13

เรากำลังพัฒนาเกมบน iOS ด้วยการสนับสนุนผู้เล่นหลายคน จนถึงตอนนี้ดูเหมือนว่าทุกอย่างจะดี แต่ตอนนี้เราต้องการแน่ใจว่าเซิร์ฟเวอร์สามารถรองรับลูกค้าได้ 10,000 คนหรือไม่ มีความคิดใดที่ฉันจะแน่ใจได้ว่าเซิร์ฟเวอร์จะอยู่รอดได้ในปริมาณมาก

คำตอบ:


15

สำหรับการทดสอบปริมาณการรับส่งข้อมูลมีเครื่องมือมากมาย แต่คุณจะต้องทดสอบสิ่งอื่น ๆ เช่นกันโดยเฉพาะสำหรับเซิร์ฟเวอร์เกมของคุณเนื่องจากปริมาณการใช้เครือข่ายเป็นเพียงส่วนหนึ่งของสมการ - การใช้งานตัวประมวลผลและแบบสอบถามฐานข้อมูลคงที่ อีกสองคนที่นึกถึงทันทีว่าเป็นปัจจัยสำคัญที่คุณต้องการวัด (จะต้องมีปัจจัยอื่นด้วยเช่นกันซึ่งคุณต้องพิจารณาจากความรู้เกี่ยวกับการทำงานของเซิร์ฟเวอร์เกมของคุณ)

วิธีที่ดีจริงๆในการทำเช่นนี้อาจเป็นการเขียนโปรแกรมไคลเอนต์" game player Simulation " และรันหลายอินสแตนซ์ของมันบนคอมพิวเตอร์หลายเครื่อง ข้อเสียคือต้องใช้คอมพิวเตอร์เป็นจำนวนมาก แต่มหาวิทยาลัยในประเทศบางแห่งอาจมีห้องปฏิบัติการคอมพิวเตอร์ขนาดใหญ่ที่คุณสามารถใช้งานได้ (อาจารย์อาจสนใจในผลการทดสอบของคุณเนื่องจากอาจารย์มหาวิทยาลัยมักจะอยากรู้อยากเห็นอย่างแท้จริง การวิจัยที่ดี)

ลูกค้าของคุณอาจไม่จำเป็นต้องมีความซับซ้อนเหมือนผู้เล่น แต่คุณอาจต้องการให้แน่ใจว่ามันทำสิ่งต่าง ๆ ต่อไปนี้ (ไม่จำเป็นต้องฉลาดมากตราบใดที่มันสามารถทำงานได้มากกว่าผู้พัฒนาซอฟต์แวร์ที่เมาเล็กน้อย ไม่ควรขับรถกลับบ้านด้วยตัวเองดังนั้นคุณอาจต้องการติดธงตัวละครด้วยวิธีพิเศษเพื่อให้พวกเขาสามารถทำสิ่งโง่ ๆ เช่นเดินทะลุกำแพงมีงบประมาณไม่ จำกัด ที่จะซื้อสินค้าที่เลือกแบบสุ่มจากพ่อค้าในเกมไม่มีที่สิ้นสุด เสบียงของกระสุนและอะไร):

  • ส่งข้อความแชทแบบสุ่มตามเวลาที่กำหนดแบบสุ่ม
  • นำทางแบบสุ่มทั่วโลก (แต่มีแนวโน้มที่จะอยู่ใกล้กับเมืองใหญ่ ๆ )
  • สุ่มเลือกเพื่อยิงอาวุธในทิศทางที่สุ่มเมื่อผู้เล่นคนอื่นอยู่ใกล้เคียง
  • ซื้อ / ขายสินค้าแบบสุ่มจากพ่อค้าและบางครั้งก็ทิ้งสินค้าทั่วโลก
  • สุ่มแสงไฟ (หรือก่อให้เกิดการทำลายในรูปแบบอื่น)
  • รับพยุหะของสัตว์ป่าอารมณ์เสียและวิ่งเข้าไปในเมืองที่วุ่นวายกับพวกเขาไล่ล่าแล้วสุ่มตัดสินใจว่าจะออกจากระบบหรือไม่ (ถ้าเลือกที่จะออกจากระบบบางทีสัตว์ป่าเหล่านั้นจะเริ่มโจมตีคนอื่น ๆ ในเมือง?)
  • รักษาผู้เล่นที่บาดเจ็บ
  • กำหนดเวทย์มนตร์ที่เลือกแบบสุ่มในสถานที่แออัด
  • ปรุงอาหารดิบแปรรูปไม้แปรรูปและวัสดุอื่น ๆ (เช่นจากการขุด) เป็นต้น
  • ... งานง่าย ๆ อื่น ๆ ที่ผู้เล่นของคุณมีแนวโน้มที่จะทำอย่างสม่ำเสมอ

หากคุณประเมินว่าคุณมีผู้เล่น 9,000 คนต่อครั้งให้ลองทดสอบด้วยตัวเลขอย่างน้อย 3 ครั้งเพื่อให้คุณรู้ว่าเซิร์ฟเวอร์ของคุณสามารถจัดการกับผู้เล่นที่มีงานยุ่งจำนวน 27,000 คนได้หรือไม่ เพื่อว่างโดยเฉพาะประเภทสังคม)

นอกจากนี้ ( และนี่เป็นสิ่งสำคัญมาก ) ถ้าคุณทำเช่นนี้ได้โปรดได้โปรดโปรดเข้าสู่ระบบด้วยตัวละครปกติและบันทึกวิดีโอของผู้เล่นคอมพิวเตอร์เหล่านี้ทั้งหมดที่ทำสิ่งที่โง่และแบ่งปันวิดีโอกับเราที่นี่เพื่อเราจะได้มี หัวเราะ (ฉันกำลังคิดว่า " การเต้นรำยุ้งฉางขี้เมา " อาจเป็นชื่อที่ดีสำหรับหนังเรื่องนี้ถ้าคุณสามารถค้นหาสถานการณ์ในเกมที่เหมาะสม)! ;-D


2
ขอบคุณมากเกี่ยวกับคำตอบของคุณฉันเดาว่าเราต้องทดสอบโดยใช้เครื่องเล่นจำลองเหล่านี้และคิดว่าท้ายที่สุดเราจะใช้บริการคลาวด์หนึ่งในการให้บริการลูกค้า มันเป็นเกมที่เล่นได้หลายคน แต่ผู้เล่นสามารถนำทางไปทั่วโลกและตามล่ากันดังนั้นแทบจะไม่มีงานใดที่คุณกล่าวถึงจะถูกนำไปใช้กับลูกค้าตัวอย่าง! ฉันหวังว่าบุคคลต่อไปที่มีคำถามเดียวกันกำลังจะเปิดตัวเกมจำลองสถานการณ์จริงเพื่อทดสอบทุกสิ่งเหล่านั้น!
Ali1S232

เพียงแค่ทดสอบสิ่งที่ใช้กับเกมของคุณ (ยินดีต้อนรับ!) ฉันไม่รู้อะไรเกี่ยวกับคุณสมบัติของเกมของคุณดังนั้นฉันจึงพยายามรวมความเป็นไปได้มากมายไว้ในความหวังว่าจะครอบคลุม
Randolf Richardson

เกมบางเกมเริ่มต้นด้วยเบต้าก่อนวางจำหน่าย แต่นี่เป็นการตัดสินใจที่ยากเพราะมีปัจจัยที่น่ารังเกียจที่ผู้เล่นอาจพบว่าพวกเขาไม่ชอบเกมในช่วงเบต้าและจากนั้นไม่กลับมาลองอีก อีกครั้ง (แม้ว่าปัญหาที่พวกเขาพบได้รับการแก้ไข)
Randolf Richardson

2
-1 คำตอบที่ไม่สมจริง นักพัฒนาเกมเพศหญิงไม่มีอยู่จริง (Jks, +1 เห็นด้วยกับการแบ่งปันผลการทดสอบด้วยภาพ)
decaviatedcaviar

3
ฉันจะเพิ่มว่าฉันทำอย่างนี้สำหรับ MMO บนคอนโซลมือถือ; ผู้เล่นจำลองเป็นสิ่งที่ดีที่สุดสำหรับการทดสอบว่าเซิร์ฟเวอร์จะรับมือกับความเครียดได้อย่างไร นอกจากนี้เรายังจัดให้มีเบต้าแบบปิด (จำกัด อยู่ที่ประมาณ 500 คน) และฉันใช้สถิติที่สร้างขึ้นในพฤติกรรมของผู้ทดสอบเบต้าเพื่อปรับแต่งผู้เล่นจำลองให้ทำตัวเหมือนกับผู้เล่นจริงมากที่สุดเท่าที่ฉันสามารถจัดการได้ หลังจากเบต้าเสร็จสิ้นฉันตั้งค่าผู้เล่น 40,000 คนที่จำลองขึ้นเพื่อเล่นความเสียหายกับเซิร์ฟเวอร์ ทำร้ายร่างกายมาก!
เทรเวอร์พาวเวลล์

0

นี่คือคำตอบสำหรับคำถามเก่าหวังว่ามันจะมีประโยชน์สำหรับผู้ที่มาที่นี่โดยเครื่องมือค้นหา Netgendมีแพลตฟอร์มทดสอบประสิทธิภาพที่สามารถเลียนแบบ 50,000 VUsers และสามารถทำตามความต้องการของลูกค้าได้อย่างยืดหยุ่น

ดูบล็อกโดยเฉพาะ

  • เครือข่ายทำง่าย
  • แยกเขตข้อมูลจากการตอบกลับของเซิร์ฟเวอร์
  • การทดสอบประสิทธิภาพด้วยข้อมูลไบนารี

โปรดทราบว่าการประมวลผลข้อความไม่ได้ จำกัด อยู่ที่ข้อความ http แต่จะใช้กับข้อความทั้งหมด

หวังว่ามันจะเป็นประโยชน์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.