我正在对一个我们正在制作的网站进行压力testing,与我的预期相比,我们发现了一个非常令人惊讶的结果:
我们的网站开始加载速度非常缓慢,同时有几百人,即使CPU和内存都很好。 看任务pipe理器,networking选项卡,我看到我的100 Mbps网卡最高为98%。
出于某种原因,这听起来对我来说是非常荒谬的…
每次我读取可扩展性的东西,CPU,内存,caching等等,在这里我遇到了网卡本身的瓶颈。
我们为我们的所有内容提供服务,而且我们的主页有点沉重,但不是那么多。 我从来没有料到网卡会成为瓶颈。
这是正常的吗?
大家都面对使用1Gbps网卡的网站吗?
我认为100 Mbps将是标准。
我看错了什么? 我是否正确解释“networking”选项卡中的graphics?
注:我可以想出很多方法来解决这个问题,从获得1 Gbps卡开始,并将静态文件移动到他们自己的服务器上。 我的问题主要在于是否每个人都只使用1 Gbps的连接,这会让我大吃一惊。
这听起来好像你正在饱和你的可用带宽。 你或者需要减less你的带宽,或者切换到一个1Gbps的卡,这是我通常期望在一个面向公众的Web服务器中find的(当然,我最后碰到的每一个服务器类的机器都是这种情况10年 – 你在哪里find了一个廉价的100MBPS卡的服务器呢?这真的是一个改变了用途的桌面?)。
有些事情要检查或考虑:
带宽作为第一个瓶颈是不是我太惊讶。 多年来,CPU,RAM,HD和其他所有组件都出现了突飞猛进的发展,而现在已有十多年的历史。 所以,你处在一个好的箱子里,这个箱子不仅能够处理典型的负载,而且还使用了十年前的技术。
即便如此,您是否确定您的100个用户同时模拟是真实世界stream量的真实反映? 有100绝对同时点击,它只需要服务每个1兆,或128K每个,为您达到高峰stream量。 这是一个非常低的天花板,我的感觉是 – 除非你确定你会得到这种用法 – 你可能需要修改你的负载testing。
多年来,简单,function较差的Web服务器一直在吹嘘他们的速度,多年来,Apache的爱好者一直在指出,Apache速度足够快,容易饱和networking接口。 听起来就像你有一个有效的网站。 你是真的抽100兆比特,还是networking堆栈只占用大量的CPU?
我build议检查你的环境的networking端:
如果没有问题,请升级到千兆位(无论如何应该是服务器的标准)。