我正在编写一个函数,该函数将在给定流的比特率的情况下计算支持一定数量网络带宽的并发流式音频侦听器的最大数量。
listeners = (bandwidth in mbps * 1024) / bitrate in kbps
假设 VPS 环境和一些轻微的网络流量,我应该考虑多少带宽开销和/或通货膨胀?
我正在编写一个函数,该函数将在给定流的比特率的情况下计算支持一定数量网络带宽的并发流式音频侦听器的最大数量。
listeners = (bandwidth in mbps * 1024) / bitrate in kbps
假设 VPS 环境和一些轻微的网络流量,我应该考虑多少带宽开销和/或通货膨胀?
这实际上很难做到,因为您无法了解或假设有关第 7 层应用程序(大概是 HTTP)下的任何其他网络层的任何信息。请参阅计算协议开销、RFC 6349和“HTTP/S 请求之上的网络开销占流量的百分比是多少?” 只是这个冰山的一小部分。
我一直被教导的非常粗略的、民间传说式的答案是,您可以采用连接速度的理论最大值,并减少 20% 以考虑信号信息、数据包碎片、MTU 未对齐等问题。这可能是一个保守的估计,但再次准确地计算它非常困难,这让我想到了下一个建议。
一旦您的应用程序开始运行,您就应该开始对其进行基准测试,看看它在同时使用时会消耗什么样的带宽,然后看看这些数字与理论计算和民间传说的比较如何。在尝试确定这种性质的事物时,没有什么比真实世界的测试更好的了,因为您或我不知道如何以任何接近准确的方式计算诸如“VPS 环境”或“轻网络流量”之类的事物。
另请注意,您的问题非常接近通常关闭的容量/性能规划问题。