云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

阿里云_遵义网站建设公司_

小七 141 0

CloudFlare最新一代服务器内部之旅

打开G4服务器

CloudFlare的运营规模很大,每月通过我们的网络处理超过一万亿个请求。为了确保这一点尽可能高效,我们拥有并运营全球23个地点的所有设备,以处理通过我们网络的流量。我们花了大量的时间来规范和设计构成我们网络的硬件。在CloudFlare网络的边缘,我们运行三个主要组件:路由器、交换机和服务器。每隔一段时间,我们将学习到的有关上一代硬件的所有内容,并用下一代更新每个组件。对于服务器,我们使用的是第四代(G4)服务器。我们的第一代(G1)服务器是戴尔PowerEdge的库存服务器。2010年初,我们在构建CloudFlare的beta版时部署了这些软件。我们很快就从中吸取了教训,然后与一家名为ZT Systems的公司合作开发了G2服务器,我们在2010年9月上市之前就部署了G2服务器。2011年,我们与惠普合作开发了我们的G3服务器。我们在2012年年中部署了这一代,形成了我们目前全球23个数据中心网络的核心。2012年秋季,我们开始与供应商合作,将我们迄今为止所学的有关运行网络的所有知识应用到目前为止,并推出最新一代服务器。我们想在CloudFlare的网络上分享我们现在使用的设备的内部情况。第3代在了解G4之前,了解我们对上一代服务器的了解非常重要。我们的G3服务器是由惠普制造的。他们每人2个U(也就是说,他们大约有两个披萨盒叠在一起一样高)。每个处理器都有两个2.4GHz的Intel Xeon E5645(Westmile变型)CPU,机箱正面最多25个Intel SSD,48GB RAM,6个1Gbps基于Intel的网络接口(主板上2个,PCI卡上4个),以及一个高效(白金)电源。我们喜欢HP gear的构建质量和可靠性,它继续为我们网络中的大量流量提供动力。当我们设计我们的G4服务器时,我们看到了G3面临的瓶颈,并寻求专门为解决这些瓶颈而设计的新硬件。保管部

固态硬盘阵列

CloudFlare在我们的网络边缘专门使用SSD。固态硬盘有三个优点。首先,它们往往会随着时间的推移而逐渐失效,而不是灾难性的,这使得我们可以预见性地安排他们的更换,而不是让员工留在我们在世界各地的所有地点。第二,固态硬盘的耗电量明显低于旋转硬盘。更少的电力意味着我们可以在我们所在的数据中心以更低的成本投入更多的设备。最后,固态硬盘具有更快的随机寻道和写入性能,这在考虑到我们的流量特性时非常重要。在G3硬件的生命周期中,我们使用了许多不同型号的固态硬盘。我们发现性价比最好的是240GB Intel 520 SSD驱动器,这是我们在第一批新G4服务器中使用的驱动器。英特尔报告称,520系列硬盘的平均无故障时间(MTBF)为1200000小时(约137年)。虽然我们还没有运行足够长的时间来确认MTBF,但我们对它们在我们的生产环境中的低故障率感到满意。我们根据机器所在数据中心的需要,改变每台服务器的SSD数量。我们至少安装6个驱动器,但如果该位置的流量需要,则会增加到24个驱动器。我们做了很多小事务,所以在优化驱动器和文件系统选择时,我们关注的是小文件性能。

Intel SSD

我们从G4的设置中拿出了一个RAID卡。我们曾尝试过硬件RAID,但发现我们可以单独寻址每个磁盘,并在算法中使用一致的散列来将文件分散到磁盘上,从而获得更高的性能。具体地说,我们发现直接寻址磁盘比使用G3硬件RAID有50%的性能优势。RAID的额外可靠性对于我们的应用程序来说并不重要,因为如果需要,我们可以随时从客户的源服务器获取原始对象的副本。即使在需要的情况下,我们也可以频繁地从磁盘中提取文件,即使这样也很重要。随着RAM价格的大幅下降,我们将G4服务器中的RAM数量增加到128GB。这使得我们可以在RAM中保存更多的缓存对象,并减少对磁盘的访问频率。具体来说,128GB对48GB,允许我们拥有100GB的内存文件缓存,而不是20GB。这是内存文件缓存的5倍,这意味着我们不必去磁盘上寻找最流行的资源。这使我们的内存缓存命中率为50%,而在G3服务器上为25%。

128 GB内存

我们的软件,对于某些应用程序,比如缓存,在一个位置的所有服务器上共享资源。这意味着,当我们向数据中心添加额外的服务器时,该数据中心的总体存储容量将增加。这种架构使我们能够快速扩展以满足我们的持续增长。中央处理器我们的G3设备在正常情况下不受CPU限制。当我们缓解大型第4层DDoS攻击(例如,SYN洪水)时,我们的CPU会不时地被过度的处理器中断所淹没。在我们的测试中,增加或降低CPU的时钟速度对这个问题几乎没有什么影响。给CPU增加更多的内核确实有助于缓解这种情况,我们测试了一些高核数的AMD CPU,但最终决定不朝这个方向发展。虽然最高时钟速度不是我们的首要任务,但我们的产品路线图包含了更多CPU密集型功能。其中包括图像优化(例如Mirage和Polish)、大量SSL/TLS连接和极快的模式表达式匹配(例如,WAF的PCRE测试)。在大多数情况下,这些CPU密集型操作可以利用后韦斯特米尔英特尔芯片上的特殊矢量处理指令集。这使得英特尔最新一代Sandybridge芯片组颇具吸引力。

Intel Sandybridge芯片组

为了省电,我们愿意牺牲一点时钟速度,在芯片上多花点钱。我们倾向于把我们的设备放在网络密度高的数据中心。然而,这些设施通常较旧,并不总是具有最高的功率容量。我们决定在G4服务器上安装两个Intel Xeon 2630L CPU(Sandybridge系列的低功耗芯片),运行频率为2.0GHz。这给了我们每个服务器12个物理核心(和24个虚拟核心,超线程)。每片芯片节省的电力(60瓦对95瓦)足以让我们在每个机架上至少多出一台服务器,如果我们使用非低功耗版本的话。网络从G3服务器到G4服务器的最大变化是从1Gbps到10Gbps的网络接口。对于我们的G3服务器,在某些高容量的第7层攻击下,我们有时会使每台服务器的网络容量达到6Gbps。我们知道我们希望在每台服务器上跳到10Gbps,但我们也希望选择正确的网络控制器卡。我们最终测试了非常广泛的网卡,在服务器中优化这个组件的时间比其他任何组件都要多。最后,我们从一家名为Solarflare的公司购买了网卡。(他们的名字和我们的很相似,这一点也不碍事。)

Solarflare网卡

Solarflare一直致力于为高频交易行业提供性能优异的网卡。我们发现,在市场上,每秒钟处理一个数据包的速度大约是每秒钟60万字节。最后我们在G4服务器上使用了Solarflare SFC9020。对性能优势的部分解释是,Solarflare在其卡上包含了一个相对较大的网络缓冲区(16MB,而我们测试的大多数其他卡的512KB或更少),从而最大限度地减少了网络拥塞导致数据包丢失的机会。这在正常操作下是很好的,但在发生DDoS攻击时尤其有用。除了硬件之外,我们正在与Solarflare合作,利用一些软件,使我们能够简化网络性能。特别是,我们已经开始测试他们的OpenOnload内核旁路技术。这允许用户空间直接处理网络请求,而无需创建CPU中断。除了减少攻击期间的中断之外,如果您消除了通过内核堆栈直接进入应用程序堆栈的延迟,那么您可以在相同的时间内处理更多的数据包,从而提高总体性能。平均来说,每次绕过内核堆栈时可以节省100μs(100微秒,或十分之一毫秒)。虽然这看起来不算多,但它可以为我们节省20%的事务延迟。如果你控制发送方/接收方——比如说,在网络内获取缓存对象时——这一点就加倍了。由于我们的特殊需求,在OpenOnload完全实现之前,我们需要重写部分Solarflare网络驱动程序。我们正在和Solarflare合作这个项目。然而,我们很高兴这个过程一旦完成,以充分释放我们的G4网络硬件的潜力。

G4以太网电缆

最后,虽然10Gbps以太网可以通过标准Cat5/6电缆运行,但我们选择使用SFP