这是我们如何计算100mbps的非链接连接(到服务器)的饱和点?

让我们假设我有一台服务器连接到一个公共的100Mbpsnetworking交换机。 例如,该服务器提供1mbps的网页。 那么,我如何估计连接的饱和点呢?

这是正确的:100mbps / 1mb(页面大小)= 100每秒。 这意味着,饱和点是100个同时连接到服务器的瞬间(每个要求1mb)?


这是问题的一部分。 现在让我们考虑一个真实的例子。 博客,例如thenextweb.com,通过CDN提供静态内容(1520KB)。 所以,剩下的就是dynamic生成的HTML(960KB),它应该由服务器本身提供服务。

考虑到这个博客每个月在访问量高峰时期每个月都会收到5千万的综合浏览量(相当于每秒20次),以及每秒70次的浏览量,您认为这个网站会因为100Mbps的连接而减慢吗?

编辑注意:让我们只能认为他们在一个单一的Web服务器,并没有使用浏览器caching。 Com'on,这只是一个例子。 只是,请只考虑我列出的内容。 我想知道我的理论/计算/估计是否正确。

为了math,我们假设每秒统一50次综合浏览量,并且每页加载一个循环的兆字节stream量,而不会caching任何数据

记住1MB是8Mb(端口速度广告和评级在兆比特而不是兆字节)50 * 8等于400mbps,如果这是一个10/100端口,它将停止工作,每秒略超过13页面浏览量。 这个math是令人难以置信的缺陷,因为它不考虑有更快或更慢的互联网连接,或caching等

实际上一个网站不会因为networking而真的放慢速度,直到networking更接近它的极限。 它很可能与你提到的那个站点不是由一个服务器和/或不在一个10/100端口上而是在一个千兆端口上服务,你可能更有可能在CPU之前遇到其他瓶颈(特别是如果您在每个页面加载时提供了一个兆字节的dynamic内容)

不要忘记阅读http://blog.serverfault.com/post/per-second-measurements-dont-cut-it/ – ServerFault遇到问题,因为networking卡接口速度以上的突发stream量,即使平均速度远远低于它,直到他们将硬件升级到某些可以说“保持一会儿”的networkingstream量。

如果你希望你的模型更真实一点,记得考虑TCP开销和HTTP头开销,以及TCP连接开销 – 1个连接传输960Kb与3个连接加起来960Kb是不同的。

而且Apache经常设置为将压缩数据发送到客户端。

尽pipe如此,即使有100个连接在一个“即时”进入,但回复不必是即时的,并且如果数据包丢失,TCP可以重试,只要每瞬间不是每个瞬间100个连接,发生在服务器响应其中的一些延迟几十或几百毫秒,或者一些数据包被丢弃,源重新发送它们,并且一切正常。

我想我知道你从哪里来。 如果你正在谈论简单的饱和而没有任何caching,如果你的页面大小是1MB,而且你有100mbps的连接,那么你可以从这个连接中获得每秒12-13兆字节的范围。

虽然…你不能简单地把12兆字节除以每页1兆字节,并说你只能服务每秒12页。 还有其他一些因素,比如caching,压缩和pipe道饱和等,可以改变这些数字。