什么样的硬件配置在驱动 Etsy

前言:Etsy.com是家手工艺品拍卖网站,据其 CEO 查德·迪克森(Chad Dickerson)日前透露,该公司今年截至目前处理的交易总额已经突破了5亿美元。他们目前拥有超过300名员工,80万活跃商户以及超过4000万月访问用户。那这样一个大网站,其硬件配置如何? Etsy官方技术博客有文章介绍,@忘美流星编译如下。

通常来说,讨论运行一个大网站所需的硬件配置是在私下的圈子中进行,并且通常是在说某个牌子做得怎么怎么稀烂,或者某个牌子的硬件支持怎么怎么糟糕。

随着“云时代”的到来,这一情况有了些许变化。人们突然之间开始谈论某个牌子有多大或多少的实例,同时我也相信这是对于了解数据中心里物理服务器的一个很好的实践。毕竟这不是竞争,而是在帮助人们摆脱和我们一样的困境,也是在传播关于某些方面某些人还不知道的解决方案,很像我在这个博客上发表的内容

37signals 的朋友在参加了 Velocity大会(一个可以讨论硬件八卦内容的地方)后,他们也有这个趋势,最近发布了他们的硬件配置。

因此,出于对这个趋势的兴趣,以下就是为我们7月中6950万美元销售额供以动力的硬件部分。


数据库部分 | Database Class

正如你或许已经了解的那样,我们有相当多的MySQL机器用来存储数据,性能和(相当一部分的)可靠性也依赖这些机器。

为了实现对高存储、高处理力、和好的冗余度的四周高性能盒(all round performant box)有要求的作业,我们使用HP DL380服务器。这些服务器拥有2U储存架区的计时器、2个8核的Intel E5630 CPU(2.53 Ghz)、96G的RAM(对全部重要的MySQL高速缓存)和16个15000转速146GB的硬盘。这样的配置提供了平衡性良好的磁盘空间去存储用户数据,同时也方便主轴/RAM快速地获取这些数据。服务器拥有四个1GB的以太网端口,但是我们只使用了其中之一。

为什么不用固态硬盘(SSDs)?

我们刚开始第一轮测试使用固态硬盘的数据库。传统上来说,我们已有其他的问题先需要解决,比如达到用户数据量(例如某台机器上的磁盘空间使用量)和 CPU与内存之间的平衡性。然而,正如我们其他的配置信息中所展现的那样,我们有大量的固态硬盘遍及和贯穿基础架构,所以我们也将同样为数据库进行良好的测试。


我们的多种硬件如图所示,左边和中间为HP,右边为网络/Utility 箱

Web/Gearman Worker/Memcache/Utility/Job

这是相当广的一个范围,但是通常我们尝试并赞同尽可能少的机器类别。所以我们在处理会执行大量通信或冗余的任务时,大部分网络通信(Apache/PHP)的任务会在只有一种机器的应用层被处理。通过这种方式,硬件的可重用性得到了提升,并且可以实现机器部分的快速便捷转换。话虽如此,仍然有发生一些组件种类配置的细微差别,例如内存和磁盘的数量。

这种在机箱前部允许共享两个电源和12个3.5英寸磁盘的支持4 节点的2U超微机箱(Supermicro chassis),我们相当喜欢。


4个简易可用节点的超微机箱(Supermicro chassis)

这个的常规配置为两个8核Intel E5620的CPU(2.40GHz),12GB至96GB 的RAM, 和600GB的7200转速硬盘或Intel的160GB固态硬盘。

注意到这些配置缺乏RAID(独立磁盘冗余阵列),我们很大程度上依赖Cobbler和Chef,这表示从零开始重建一个系统只需要10分钟。在我们看来,当数据中心的员工可以在20分钟内更换驱动、重建一个系统并回到生产的情况下,为什么要用两个驱动呢?显然这只在适当的情况下生效,既机器集群中每台独立的机器上的数据并不重要。例如,当日志不断发送至集中日志主机,并且网络代码易于部署回本机时,网络服务器就可以被认为是没有重要的数据了。

我们用Nagios核对(同样SMART核对也可以)来帮助我们了解文件系统变得不可写入时的情况,于是可以得知机器是否需要新的磁盘了。

每台机器拥有两个1GB的以太网端口,在这种情况下,我们只是用了其中一个。

  • 相关文章:
  • 留言列表: