ฉันใช้เซิร์ฟเวอร์ Mumble (Murmur) กับแขก KVM ของ Debian Wheezy Beta 4 (x86_64) ซึ่งทำงานบนไฮเปอร์ไวเซอร์ KVM ของ Debian Wheezy Beta 4 (x86_64) เครื่องแขกจะเชื่อมต่อกับอุปกรณ์บริดจ์บนระบบไฮเปอร์ไวเซอร์ผ่านอินเทอร์เฟซเครือข่าย Virtio ไฮเปอร์ไวเซอร์เชื่อมต่อกับอัปลิงค์ 100 เมกะบิต/วินาที และทำการกำหนดเส้นทาง IP ระหว่างเครื่องแขกและอินเทอร์เน็ตที่เหลือ

ในการตั้งค่านี้ เราพบกับความล่าช้าที่สังเกตได้อย่างชัดเจนระหว่างการดับเบิลคลิกที่ช่องในไคลเอนต์และการดำเนินการเข้าร่วมช่องที่เกิดขึ้น สิ่งนี้เกิดขึ้นกับไคลเอนต์ที่แตกต่างกันจำนวนมากระหว่าง 1.2.3 ถึง 1.2.4 บนระบบ Linux และ Windows

คุณภาพเสียงและเวลาในการตอบสนองดูเหมือนจะไม่ได้รับผลกระทบจากสิ่งนี้โดยสิ้นเชิง ส่วนใหญ่แล้วกล่องโต้ตอบข้อมูลของลูกค้าจะระบุเวลาแฝง 16ms สำหรับทั้งช่องสัญญาณเสียงและช่องควบคุม ส่วนเบี่ยงเบนของช่องสัญญาณควบคุมส่วนใหญ่สูงกว่าช่องเสียงช่องใดช่องหนึ่งมาก ในบางสถานการณ์ ช่องควบคุมจะแสดงด้วย ping 100ms และเบี่ยงเบนประมาณ 1,000 ดูเหมือนว่าประสิทธิภาพของ TCP จะมีปัญหาที่นี่

เราไม่มีปัญหากับการตั้งค่าก่อนหน้านี้ซึ่งโดยหลักการแล้วค่อนข้างเหมือนกับการตั้งค่าใหม่ เราใช้ไฮเปอร์ไวเซอร์ Xen ของเดเบียน เลนนี่ และเครื่องรับเชิญแบบซอฟต์เสมือนแทน และใช้รุ่นก่อนหน้าของซีรีส์ Mumble 1.2.3

ปัจจุบันmurmurd --versionพูดว่า:1.2.3-349-g315b5f5-2.1

อัปเดต : ฉันพบการสนทนานี้ซึ่งมีผู้เรียกใช้ Mumble บนระบบเสมือนจริงซึ่งประสบปัญหาเดียวกันกับฉัน

สิ่งที่ฉันได้ลองไปแล้ว (ไม่ประสบความสำเร็จเลย):

  • ติดตั้งและลองใช้เซิร์ฟเวอร์ Mumble บนระบบไฮเปอร์ไวเซอร์ของฉันแล้ว
  • ติดตั้งและทดลองใช้กับเซิร์ฟเวอร์ Mumble รุ่นเบต้า 1.2.4 บนระบบแขก
  • ดูดฐานข้อมูล SQLite ของฉันจากเดิมประมาณ 1MiB เหลือประมาณ 300 KiB
  • ปิดการใช้งาน IPv6 ในระบบเพื่อตรวจสอบว่าอาจเป็นสาเหตุของปัญหาหรือไม่
  • ติดตั้งระบบแขกด้วย Debian Squeeze (เสถียร) แล้วลองใช้ Mumble ที่นั่น

อัปเดต : ก่อนหน้านี้ฉันแจ้งว่าฉันได้ทดสอบการวางฐานข้อมูล Mumble และไฟล์บันทึกในระบบไฟล์ในtmpfsหน่วยความจำแล้ว แต่ก็ไม่สามารถแก้ปัญหาได้ ฉันทำผิดพลาดที่นั่น ดังนั้นจึงไม่ได้เก็บไว้ในไฟล์tmpfs. ตอนนี้ฉันทำอย่างนั้นแล้ว ปัญหาด้านประสิทธิภาพก็หมดไป แต่การเก็บไว้ใน a tmpfsไม่ใช่วิธีแก้ปัญหาที่แท้จริงของฉัน

answer

ฉันพบว่าสิ่งนี้เกี่ยวข้องกับปัญหาประสิทธิภาพของ I/O โดยการวางฐานข้อมูลของเซิร์ฟเวอร์ Mumble และไฟล์บันทึก และลงในระบบไฟล์ในหน่วยความจำ อะไรทำให้เกิดเวลาแฝงของ I/O ที่ไม่ดีขึ้นอยู่กับคำถามนี้ ปัญหาได้รับการแก้ไขโดยการเพิ่มnobarrierตัวเลือกการเมานท์ซึ่งถูกเพิ่มเข้ามาเป็นครั้งแรกหลังจากเปิดตัว Linux 2.6.33 barrierเป็นตัวเลือกเริ่มต้น ขอให้สังเกตว่านี้ไม่ก่อให้เกิดปัญหาด้านความปลอดภัย นอกจากนี้ พาร์ติชันยังเข้าถึงได้ผ่าน Virtio ในขณะที่ตั้งค่าแคชเป็นnoneหรือwriteback. ประสิทธิภาพยังคงแย่เมื่อตั้งค่าแคชเป็นwritethrough