我应该如何估算可用于应用程序的带宽量?

我正在写一个函数,它将计算在给定stream的比特率的情况下支持networking带宽的并发stream式audio监听器的最大数量。

听众=(带宽以mbps * 1024)/比特率以kbps为单位

假设一个VPS环境和一些轻的networkingstream量,我应该考虑多less带宽开销和/或通货膨胀?

这实际上很难做到,因为你不能知道或者假设你的Layer-7应用程序(大概是HTTP)下面的任何其他networking层。 请参阅“ 计算协议开销” ( RFC 6349)和“HTTP / S请求之上的多lessstream量是networking开销?” 只是这个冰山的一小部分。

我经常学习的非常粗糙的,民俗性的答案是,你可以把理论上的连接速度最大化,敲掉20%来解释信号信息,包碎片,MTU错位等等。 这可能是一个保守的估计,但再次计算它是非常困难的,这导致我的下一个build议。

一旦你的应用程序运行,你应该开始对它进行基准testing,看看它在同时使用时消耗了什么样的带宽,然后看看这些数字与理论计算和民间传说的智慧是如何比较的。 当你试图确定这种性质的东西时,没有什么能比现实世界的testing更胜一筹,因为你或者我不知道如何计算诸如“VPS环境”或“轻量级networkingstream量”之类的东西,并且精确度接近于任何东西。

另外请注意,您的问题与通常closures的容量/性能计划问题是非常接近的。