ความสามารถเชิงทฤษฎีกับวง [ปิด]


0

ฉันมักจะถามสิ่งนี้จากลูกค้าที่มีศักยภาพและแท้จริง: ฉันสามารถเรียกใช้พร้อมกันได้กี่สตรีม

ฉันมักจะอธิบายว่ามันเป็นการmaxServerUpstreamBandwidth / (streamDownstreamBandwidth * numberOfStreams) พูดเชิงทฤษฎี ในความเป็นจริงทั้งหมดมันอาจจะน้อยลง

อย่างไรก็ตามในสถานการณ์จริงดูเหมือนว่าจะแตกต่างกัน เราดูเหมือนจะได้รับลูกค้ามากขึ้นกว่าสิ่งที่เป็นไปได้ในทางทฤษฎี

ตัวอย่างเช่นถ้าฉันมีสตรีม 1 เมกะบิตต่อวินาทีที่เผยแพร่ไปยังเซิร์ฟเวอร์ที่มีบรรทัด 100 เมกะบิตต่อวินาทีตามหลักวิชาฉันควรจะมีลูกค้า 100 คนดูสตรีมนั้นที่ 1 เมกะบิตต่อวินาที นี่มันบ้าไปแล้ว 1 เซิร์ฟเวอร์ให้บริการลูกค้าเพียง 100 ราย!?!? ฉันจึงสรุปได้ว่าฉันต้องทำคณิตศาสตร์ผิด

สิ่งที่ฉันหายไปที่นี่?


ฉันค่อนข้างสับสนว่าจะให้เบอร์ไหนลูกค้าเข้ามาในใจฉันnumStreams = serverBandwidth / avgStreamBandWidth.
digitxp

นั่นคือสิ่งที่ฉันหมายถึงขอโทษฉันจะแก้ไข
Naftuli Kay

1
ฉันคิดว่ามันเป็นผลมาจากลูกค้าช้ากว่าที่คุณคาดหวัง ตันช้าลง
digitxp

4
คุณไม่ได้ระบุว่า "สตรีม" คืออะไรเช่นโปรโตคอลใดที่คุณใช้และเครือข่ายที่คุณแจกจ่าย มีบางอย่างที่เรียกว่า Multiplexing เชิงสถิติซึ่งสามารถใช้ไปป์ในการให้บริการช่องสัญญาณมากกว่าที่เป็นไปได้ในทางทฤษฎีหากไม่มีช่องสัญญาณทั้งหมดที่ส่งสัญญาณในเวลาเดียวกัน เครือข่าย IP เกือบทั้งหมดเป็นไปตามนี้ หรือคุณอาจใช้สิ่งที่ต้องการการหล่อแบบหลาย
billc.cn

โปรโตคอล: RTMP ผ่าน TCP ผ่าน Wowza
Naftuli Kay

คำตอบ:


1

มีสามปัจจัยที่ฉันเห็นว่าจะช่วยให้คุณสตรีมสตรีมได้มากกว่าจำนวนทางทฤษฎีของคุณ:

  1. มีการสตรีมข้อมูลน้อยกว่าที่คุณคิด สตรีมมักประกอบด้วยข้อมูลที่ถูกบีบอัดและข้อมูลบางอย่างถูกบีบอัดมากกว่าส่วนอื่น ดังนั้นเมื่อคุณบอกว่าเป็นสตรีม 1 เมกะบิตนั่นอาจเป็นการบีบอัดที่แย่ที่สุด (หรืออาจเป็น 1 เมกะบิตที่ไม่มีการบีบอัดของคุณ) สิ่งนี้จะระเบิดอย่างเป็นธรรมชาติเมื่อกระแสข้อมูลเปลี่ยนแปลงตลอดเวลาอัตราส่วนการบีบอัดจะเปลี่ยนแปลง ปัจจัยอื่น ๆ เช่นสตรีมที่หยุดชั่วคราวยังสามารถลดอัตราที่แท้จริง
  2. ลูกค้ามีปัญหาคอขวด แม้ว่าเซิร์ฟเวอร์ของคุณมีสาย 100 เมกะบิตไคลเอ็นต์อาจมีการเชื่อมต่ออินเทอร์เน็ตที่ช้า (เช่นการเชื่อมต่อ Wi-Fi ที่ใช้ร่วมกันที่ร้านกาแฟ)
  3. โปรโตคอลควบคุมปริมาณอัตโนมัติ ฉันไม่รู้เกี่ยวกับการตั้งค่าของคุณ แต่โปรโตคอลการสตรีมจำนวนมากจะปรับอัตราการสตรีมโดยอัตโนมัติเมื่อแบนด์วิดท์ถูก จำกัด ดังนั้น (โดยใช้ตัวอย่างของคุณ) แม้ว่าคุณจะสามารถจัดการกับสตรีมได้เพียง 100 สตรีมที่ 1 เมกะบิตระบบสามารถจัดการกับลูกค้าได้มากขึ้นเพราะมันจะลดลงโดยอัตโนมัติถึง 0.5 เมกะบิตเมื่อมีการเชื่อมต่อไคลเอนต์ 20 เครื่อง

คำตอบนี้ไม่ได้ช่วยให้คุณคณิตศาสตร์ของคุณ (ไม่มีตัวเลขที่ยาก!) แต่มันอาจเป็นกระสุนเมื่ออธิบายสถานการณ์ให้กับลูกค้าของคุณ


0

ดูเหมือนโง่มากที่คิดว่าทุกคนกำลังก้าวไปสู่จุดสูงสุดตลอดเวลาและหากผู้ใช้รายอื่นต้องการเปิดกระแสข้อมูลเซิร์ฟเวอร์จะไม่อนุญาต มันทำให้ทุกคนช้าลงสร้างแบนด์วิธใหม่


0

คุณกำลังจัดการกับโอเวอร์เฮดและโปรโตคอลและสตรีมการแข่งขันอื่น ๆ ในไพพ์เดียวกัน

ในตัวอย่างเชิงทฤษฎีของคุณคุณกำลังเผชิญกับสภาพแวดล้อมที่สมบูรณ์แบบซึ่งไม่มีคำขออื่น ๆ ที่ใช้ 100Mbps ไปป์นั้น ในการปฏิบัติจริงคุณจะไม่พบสิ่งนี้ การเชื่อมต่อ 100Mbps นั้นเป็นโฮสต์ของโปรโตคอลช่างพูดระหว่างคอมพิวเตอร์ไคลเอนต์หลายร้อยเครื่อง

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