- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
高性能DIY服务器实战
05年12月,笔者根据DIY服务器心得,曾撰文《DIY 1U AMD双核心服务器实录》,文章先后在各大网站登出,籍此机会得以和各界朋友广泛交流,并得到了广大网友的支持和鼓励,收获颇丰。近日笔者为自己创办的"世界网络"网站再次DIY了二台服务器。本次DIY经历感悟良多,不敢独享,故此再次撰文与广大DIY爱好者交流。
原有服务器硬件配置如下表:
配置 | 网页服务器 | 数据库服务器 |
CPU | Intel P4 3.2G (478针,130纳米Northwood核心) | Intel P4 3.2G (478针,130纳米Northwood核心) |
主板 | Intel D865GBF主板 | Intel S875WP1-E 主板 |
内存 | 海盗船DDR1 512M×2 | 海盗船DDR1 512M×4 |
硬盘 | WD 猛禽74G | WD 猛禽74G |
电源 | Sirtec PUA-40060-PB1 400W | Sirtec PUA-40060-PB1 400W |
原有的这两台服务器,采用当时最为成熟的130纳米制程P4 3.2G,无论发热量还是执行效率,都比之后推出的90纳米制程P4优胜,可以说是Intel P4 处理器上的颠峰之作。这两台服务器自上架运作以来,一直稳定运行。世界网络(www.linkwan.com)提供速度测试、路由追踪等功能,服务两岸三地,日访问量超过8万多,多种程序和大型数据库运行超过2 年,未发现任何穏定性问题。随着时间的推移和网站流量的增长,以上两台服务器负担日重,数据库服务器CPU占用率经常保持在60%左右,峰值占用率甚至达到90%以上。为了满足越来越大的访问量,提供更好的网络服务,升级硬件设备,已是势在必行了。不过如何升级,才能做到最大限度利用现有资源,并适合现阶段需求,也需要多多考虑。经过多番斟酌,定下以下方案。
新服务器硬件配置如下表:
配置 | 网页服务器 | 数据库服务器 |
CPU | P4 3.2G (原服务器的CPU ) | AMD Athlon 64 X2 4600+ (AM2) |
主板 | TYAN S5112G2NR(Intel 7210芯片组) | TYAN S3950G2NR |
SCSI卡 | Adaptec 29320ALP-R | 泰安M7901卡(Adaptec 7901芯片) |
内存 | 海盗船DDR1 512M×4 (原服务器内存) | 海盗船 DDR2 800 1G×2 |
硬盘 | ST SCSI 73G×2 (RAID 1) | ST SCSI 73G×2 (RAID 1) |
电源 | Zippy P1H-6507P 500W | Zippy P1H-6507P 500W |
机箱 | IOK 1U 专用机箱 | IOK 1U 专用机箱 |
以下笔者将对各配件的选择进行说明,提供给各位同好参考。由于数据库服务器是全新配置,所以会比较侧重,网页服务器配置比较常见,则介绍相对稍微简略些。
一、CPU的选择
基本上,CPU的选择决定了整个平台的基调。双路双核的CPU平台,性能强劲,不过从实际应用来看,笔者的网站,尚无需如此高的性能。而单路CPU中,双核CPU无疑是一个性能与价格的平衡点。现时双核CPU,大致有AMD的X2系列,Intel的PD系列和"酷睿"3个系列。Intel PD系列发热量高,性能也不尽理想,所以不是最佳选择。而"酷睿"系列的双核,性能提升明显,不过遗憾的是,市面上至今为止,尚未有配套"酷睿"的服务器主板出现,如果配套PC主板的话,却又不适合服务器应用,衡量各方面的厉害关系,数据库服务器最终还是选择了AM2 接口的AMD Athlon 64 X2 4600+。由于网页服务器负担相对较轻,P4 3.2G已经可以满足,所以网页服务器继续采用原有的CPU,物尽其用,节省资金。
关于AMD X2系列,已经是一款相当成熟的产品了,相信已经广为人知,就不需要笔者多费笔墨了。至于性能测试,笔者将在下文再作表述,在此就不作详细说明。
二、主板的选择
作为整个服务器的基石,主板无疑是需要多加考虑的重点配件。出于稳定性和质量的考虑,笔者选择了泰安TYANS3950G2NR主板。泰安计算机作为全球知名的专业服务器主板厂商之一,产品质量相当令人放心,考虑到泰安这款主板市面上比较少见,所以在此详细介绍一下。
这款主板采用的芯片组是ServerWorks出品的HT1000单芯片。ServerWorks是一家专门研发服务器高端芯片组的芯片组设计公司,从奔腾pro时代开始,ServerWorks就一直是Intel平台上最重要的服务器芯片组设计伙伴。ServerWorks的这款芯片组,可以支持双路的Opteron,笔者此款主板仅仅用于支持单路CPU,自然绰绰有余。主板所支持的功能和参数如下:
◇ 支持 AMD AM2 系列处理器
◇ 最高支持 1Ghz Hyper-Transport 总线频率
◇ 采用 ServerWorks HT1000芯片组
◇ 支持双通道 DDR2 533/667/800 内存
◇ 最大支持 4 GB unbuffer 内存
◇ 支持 ATA-133 IDE 接口
◇ 支持 4 个 S-ATA 接口,支持RAID 0,1,0+1
◇ 内置两个千兆网卡
◇ 64bit 133MHz PCI-X 插槽一条
◇ 32bit 33MHz PCI插槽四条
◇ 内置SO-DIMM界面
◇ 内置 XGI Z7 显示卡
◇ 内置 32MB 显示内存
◇ ATX 尺寸(12"x 9.6";305mm x 244mm)
从布局来看,这款主板为1U机箱应用考虑的非常周到。首先,CPU和内存的位置合理。CPU插槽位于主板的前端,内存4根插槽位于右侧,这是经典的单路1U服务器主板设计布局,配合1U机箱的风墙,可以快速有效地排出机箱内部的热量。其次,PCI-X插槽处在主板中间的部位,方便1U机箱内的扩展卡转接。另外,这款主板虽然没有集成SCSI接口,但提供了一个SO-DIMM接口,可以接TYAN研发的MINI扩展卡,实现对SCSI、SATA、SAS等接口的扩展支持。
泰安的SO-DIMM卡,现阶段主流的有3个型号:
1、 M7901,支持单通道SCSI RAID 0,1;
2、 M7902,支持双通道SCSI RAID 0,1;
3、 M9000,支持8口SAS、SATAII,支持RAID 0,1,5,10。
由于采用小型PCB尺寸板型,SO-DIMM卡的价格远比采用同样芯片的独立SCSI卡或者SAS卡便宜,更由于接口的通用型,所以选择和升级都比固化在主板上的接口更加灵活,在低成本上实现灵活的扩展,又不占用过多的空间,可谓一举数得。
总的来说,泰安S3950G2NR作为一款单路双核CPU服务器主板,为组建高性价比的服务器提供了一个实用、稳定的选择。
至于网页服务器,则采用了泰安S5112G2NR。本次升级,网页服务器升级为SCSI硬盘,所以更换拥有64bit PCI-X插槽的服务器主板,无疑比原先仅有32bit PCI槽的Intel S875WP1-E 主板更佳。
三、内存
因为考虑到网站数据库应用的数据量非常大,对内存容量要求较高,所以采用了2条1G的内存,总共是2G的容量,避免因内存不足引起响应迟钝。AM2接口的Athlon 64 X2支持DDR2内存,笔者采用了海盗船(Corsair) DDR2 800 内存条,名牌内存的做工和质量,都对服务器的整体稳定大有贡献。
对于网页服务器,则依旧沿用原有的DDR400 内存,2G的容量,也绰绰有余了。
四、硬盘
普通的单路服务器,出于成本的考虑,经常会采用桌面型号硬盘,如IDE、SATA等。IDE和SATA硬盘确实成本低廉,不过世事并无十全十美,IDE或者SATA等桌面型号硬盘,速度远远不如专为服务器应用设计的SCSI硬盘。另外,可靠性方面,两者也是大有区别。桌面型号硬盘的平均故障间隔时间(MTBF,Mean Time Between Failure),一般只有50~60万小时而已,而且并非为7×24小时的服务器应用设计,耐用性和使用寿命,比起拥有120万小时 MTBF的SCSI设备,还是相差甚远。
当然,类似西部数据的"猛禽"WD360/WD740 硬盘之类的万转SATA硬盘,也拥有服务器级别的性能和耐用性,不过和传统的SCSI硬盘比起来,"猛禽"硬盘在大流量数据吞吐的时候,对CPU的占用率还是比SCSI硬盘为高,考虑到TYAN S3950G2NR主板可以接扩展卡,不需要购买昂贵的SCSI卡就可以支持SCSI设备,所以本次DIY,选择了希捷捷豹万转73G SCSI硬盘,作为存储设备。
笔者的网站面对比较关键的应用,对数据安全性和稳定性要求较高,所以选择2颗SCSI 73G硬盘作RAID 1镜像,提高数据的安全性,并且可以提升读取速度。
五、机箱和散热
1U机箱的散热,历来都是一个热门话题,对机箱内部散热,笔者向来都比较在意。机箱的散热,有几个关键性环节,下面分别表述。
1、 CPU等热源的散热。
在1U机箱里面,随着CPU频率的增高,以往经常采用的1U薄型主动散热方式已经越来越难以满足要求。原因在于主动式散热器由于厚度限制,散热铜块只有1~2cm,导致散热面积过小,再有,薄型风扇的转速提高困难,因为过高的转速对机械部件的寿命有很大的影响。现时主流的1U CPU散热方案,都是采用"大面积散热器+机箱风扇组合"方案。要采用这类方案,主板也必须有相应的布局设计。而泰安S3950G2NR的布局上已经为1U散热作了优化,所以无需担心主板的布局问题。本次笔者选择了Cooljag专为AM2架构设计的1U纯铜散热器。
在安装散热器的时候,也需要注意一些细节问题,才可保证散热效果。
首先,用无水酒精对CPU和散热块表面进行清洁,以保证CPU表面与散热块尽量紧密的接触。其次,采用高品质的散热硅脂,并且注意涂抹的时候,尽量均匀。笔者曾采用Arctic Silver 5纯银散热膏,严格按照说明书操作,成功将CPU温度降低3-4℃。如果按照温差计算,3摄氏度的幅度,改善的效果已经超过10%。最后,安装散热块的时候,要注意四个角均匀用力,拧螺丝的时候,采用对角线的方式用力,切忌一下子就拧紧一边螺丝,这样才能保证散热块与CPU平行接触,不至于留下空隙。
2、机箱内部空气对流通道。
本次选择了IOK的1221机箱。普通的1U机箱风扇,一般是八千转至一万转,风力虽然也相当强,不过为了获得更好的散热效果,笔者采用了台湾AVC牌 DF04056B 12V 1.88A一万八千转双轴高速加强型风扇进行改良。
针对最大的发热部分——CPU,笔者手工DIY了一个塑胶导风罩子,将风墙的风力,集中到CPU处,取得最佳的CPU散热效果。
风墙的后部,是硬盘的位置,这样对CPU进行散热的同时,也抽吸了硬盘的热量,整个机箱内部,都处在散热气流之中,保证了整体的散热效果。对另一个大热源——电源,则采用了一个加强型风扇和一个普通风扇,进行抽风处理。经过这一系列的改造,机箱内部所有发热量较大的部件,都得到了有效的处理。很多朋友也许觉得内存没有专门的散热处理,会担心内存部分。在实际使用测试中,笔者也测量过内存的发热量,DDR2的功耗一贯较低,发热量并不高,尽管频率高达800MHz,温度也仅是温热而已,机箱内部气流的余风,完全足够应对内存的散热,所以并不需要担心。
在安装好所有硬件和接线之后,最后还需整理机箱内的线缆,用扎线带将线缆捆扎好。特别是机箱风扇附近的细小线缆,更是需小心整理,稳妥处理。捆扎线缆不单单是美观问题,整齐的扎线有利于腾出尽量多的空间,有利散热,更重要的是,可防止线缆不慎进入风扇等部分,造成风扇停转、短路等故障。虽是小小细节,如果不认真处理,很可能造成大故障,故此绝不能马虎。
六、电源的选择
服务器与PC最大的分别,就在于对稳定性的需求不同。服务器的性能不一定要很强,但是稳定性却无论如何都必需保证。特别是笔者这类对广大网友提供服务的网站,必须保证全年不间断运行,对稳定性的要求,更是严格。笔者花大力气改善机箱散热,是为了保障服务器的稳定性。但是要保证稳定性,必须从全盘考虑。一台服务器的稳定性,和电源有着莫大的关系。高可靠性和质量的电源,才能为服务器7×24小时不间断运作提供保障。而劣质电源,则有可能给服务器造成无规律重启、硬盘坏道等隐蔽性故障。所以对电源的选择,是万万不可轻视的。高端服务器,为了保证电源的万无一失,甚至采用价格昂贵的冗余电源方案。本次DIY,电源方面笔者选择全球知名品牌zippy(新巨)的产品,型号是H1H-6507P,额定功率为500W。Zippy作为全球三大高端服务器专业厂商之一。国内外多家著名服务器厂商的高端机型,采用的就是Zippy的电源。
以下是此次DIY服务器各配件的电源功率:
配置 | 3.3V | 12V | -12V | 5V | -5V | +5VSB | 总功率 |
主板:TYAN S3950G2NR | 1.1A | 1.4A | 0.8A | 24.2 | |||
CPU:AMD Athon 64 X2 | 7.42A | 89 | |||||
内存:海盗牌DDR2-800 1G x2 | 0.5A | 6 | |||||
硬盘:ST SCSI 73G x 2 (RAID 1) | 4A | 1.6A | 56 | ||||
散热风扇七只 | 8.55A | 102.55 | |||||
SCSI 卡 | 约5W | ||||||
合计 | 21.47A | 3.1A | 0.8A | 282.05 |
以上是根据电流与电压数据计算的功率,与官方公布的会有所出入。例如硬盘的官方公布功率仅仅是10W左右,上面估算出来的数据,比官方的数据偏高一些。
电源可输出功率的官方参数如下:
配置 | 3.3V | 12V | -12V | 5V | -5V | +5VSB | 总功率 |
P1H-6507P 500W | 20A | 40A | 0.5A | 25A | 0.5A | 2A | 500 |
由此可见,计算出来的服务器功耗不到300W,用500W的电源供应,自然游刃有余。采用高功率的电源,可获得充足的裕量,否则带负载条件下电源内部温度会升高太多,势必影响稳定度及寿命。另外,高功率的电源,采用的元器件也更高档,对稳定性和寿命都大有裨益。
硬盘与机箱风扇,用的都是+5V的接口,实际安装的时候,要注意将硬盘与机箱风扇,分别接在不同的+5V输出线上,以获得最合理的利用。这类细节问题,实际操作时要注意,这也是初学者容易忽略的地方。
七、性能测试
硬件安装完毕后,为了对服务器的性能有个全面的了解,笔者对2台服务器,都做了一些常规测试,下面重点介绍基于AM2 4600+的数据库服务器的成绩,最后将2台的成绩汇总列表,方便比较。
本次测试,采用了常用的测试软件:Sisoftware Sandra 2007及Sciencemark 2.0 32bit,操作系统为Windows 2003简体中文版,所有驱动均安装齐全。
Sisoftware Sandra 是一个偏向理论值的基准测试,它的测试项目非常齐全,但是由于Sisoftware Sandra 将测试项目分得特别细,所以某项测试成绩会与实际应用表现相差甚远,因为实际应用中,是整体性能的体现,并非纯粹依靠某个子系统,所以每个单项测试仅仅作为参考,需要将多个项目成绩综合考虑,才能较为准确的推断实际应用上的效果。Sisoftware Sandra本身也收集了许多配置的测试分数,这些分数对我们也很有参考意义。
1、首先测试CPU数学运算能力测试(CPU Arithmetic Benchmark)
这项测试的结果可以为我们提供CPU运算能力的参考标准,其结果对需要了解CPU运算的用户具有很高的参考价值。
这项测试里面有2个子项目,分别是整数运算性能(ALU)和浮点运算性能(FPU)。因为AM2 4600+已经可以支持SSE3的指令集,所以软件会自动附加上SSE3进行测试。
从结果看来,AM2 4600+此项成绩令人满意,整数运算能力比3.73G的P4 XE 965尚高出少许,如果再考虑到双核P4巨大的发热量,无疑AM2 4600+更为适合服务器使用。浮点运算方面,由于加入了Intel 开发的SSE3指令集的优化,Intel CPU分数都异常的高,AM2 4600+在浮点测试项目吃了软件优化的亏,甚至未能胜过P4 XE 840。
2、接下来的是CPU多媒体运算能力测试(CPU Mutil-Media Benchmark)
CPU多媒体运算能力,主要考察对多媒体文件(音频、视频)处理的能力。这个结果对工作站用户比较有参考意义,对网站服务器用户来说,基本上用不到这方面的要求,此项成绩,仅供参考。
与上一项类似,这项测试里面同样分为整数运算性能和浮点运算性能2个子项目。
在此项测试中,AM2 4600+成绩与P4 XE 840互有高低,基本上与P4 XE 840相当。
3、内存带宽测试 (Memory Bandwidth Benchmark)
这一项是针对内存带宽的测试。在服务器应用里,经常要快速处理庞大的数据运作,这对系统的数据吞吐、交换能力带来极高的要求。此项测试内容可以作为衡量服务器内部系统数据交换能力的参考。
此项测试成绩令人吃惊。AMD 凭着内置的内存控制器,一向都在此类测试中具有优势,不过此次测试的成绩却超出了我们的预料。DDR2 800的高频率和AMD的优秀内存性能强强结合,最终出现了这个遥遥领先其它平台的结果。
4、磁盘性能测试(Physical Disk Benchmark)
服务器的性能依赖于整体性能的均衡,按照著名的"木桶理论",整个系统最低的子系统,将会决定整个系统的性能表现。而服务器里,在CPU、芯片组、内存、磁盘这几个子系统之中,发展最为滞后的,无疑就是磁盘子系统了。对一些访问量不大的服务器,由于磁盘读取的几率不高,所以用普通的SATA也可以满足,但笔者的网站,应用程序较多,访问量也日渐上升,加之有数据库等大型程序,所以采用SCSI方案,减少系统的瓶颈发生更加符合实际需求。
由于采用了SCSI硬盘,磁盘性能成绩远比普通的SATA为高,平均72M的读写速度以及7ms的随机寻道时间,都证实了SCSI的性能,依然远比桌面型SATA高的多。
5、科学计算能力测试软件: Sciencemark 2.0 32bit
Sciencemark 2.0包括了以下6项子项目,分别是(1)Molecular Dynamics分子动力学;(2)Primordia复数计算;(3)Cryptography密码学;(4)STREAM流体力学;(5)Memory Benchmark内存测试;(6)BLAS/FLOPS向量与矩阵运算/浮点运算。
Sciencemark也收集了2个平台的成绩,分别是基于P4 2.4G和双路Opteron 246的平台,我们就以Opteron 246的平台来作比较。
从测试成绩来看,AM2 4600+成绩大大高于双路Opteron 246,除了频率上的优势之外,AMD双核的高效能也是一大原因。在内存测试项目中,DDR2 800带来的优势也相当明显。
综合以上成绩来看,AMD Athlon 64 X2 4600+平台,虽然是单路双核的架构,却不逊色于以往双路的Opteron,作为一个中型网站的应用,已经绰绰有余。
以上主要是对数据库服务器的测试成绩的说明,为了节省篇幅,网页服务器的成绩就不一一分别罗列了,同时也为了方便对比,下面将2台服务器的测试成绩汇总列表如下:
测试项目 | 数据库服务器 | 网页服务器 | 对比幅度 |
CPU Arithmetic Dhrystone | 17356 MIPS | 8269 MIPS | 109.89% |
CPU Arithmetic Whetstone | 14686 MFlops | 9920 MFlops | 48.04% |
CPU Mutil-Media integer | 44842 it/s | 24563 it/s | 82.56% |
CPU Mutil-Media Float | 49007 it/s | 33212 it/s | 47.56% |
Memory Bandwidth Int | 8136 MB/s | 4853 MB/s | 67.65% |
Memory Bandwidth Float | 8040 MB/s | 4866 MB/s | 65.23% |
Physical Disk Drive index | 72 MB/s | 71 MB/s | 1.41% |
Physical Disk Random Access time | 7 ms | 8 ms | 12.50% |
Sciencemark 2.0 32bit | 1541.95 Score | 960.5 Score | 60.54% |
以上两组数据虽然是网页服务器与数据库服务器的对比,但由于网页服务器的配置大致与原先的数据库服务器相同,所以也可以作为新旧数据库服务器的性能对比参考。
在安装好所有硬件和接线之后,最后还需整理机箱内的线缆,用扎线带将线缆捆扎好。特别是机箱风扇附近的细小线缆,更是需小心整理,稳妥处理。捆扎线缆不单单是美观问题,整齐的扎线有利于腾出尽量多的空间,有利散热,更重要的是,可防止线缆不慎进入风扇等部分,造成风扇停转、短路等故障。虽是小小细节,如果不认真处理,很可能造成大故障,故此绝不能马虎。
经过紧张的安装和调试,本次DIY服务器到此就告一段落,2台服务器终于可以上架运行了。在实际运行中,AMD 双核CPU性能表现良好,而依靠泰安S3950G2NR专业服务器主板,整体性能更是得以平稳发挥。升级后,数据库服务器的平均CPU占用率,从原来的60%下降到15%左右,提升非常明显。网页服务器虽然CPU没有升级,但是由于升级了主板、内存和SCSI硬盘,平均CPU占用率,从原来的15%下降到9%左右,也有相当幅度的改善。这对以后笔者扩展网站服务,提供了一个良好的硬件基础。此次DIY,希望能给各位DIY爱好者一个参考,欢迎各界朋友交流切磋,提出更好建议!
笔者在今次DIY服务器过程中,得到深圳亿时空www.newsky.net.cn 等友好单位的技术协助,在此特别致谢。
上一篇:移动多媒体通信关键技术研究
下一篇:HomeRF技术