作者: beauty9235 链接: http://beauty9235.javaeye.com/blog/229638 发表时间: 2008年06月19日
声明:本文系JavaEye网站发布的原创博客文章,未经作者书面许可,严禁任何网站转载本文,否则必将追究法律责任!
访问速度和稳定性乃优秀网站之重要技术指标,亦是提升网站浏览率之重要环节。在伺服器世界里,稳定代表一切。按业界的一般标准,高档伺服器产品的稳定度达99.99%,也就是说伺服器运行一年内的当机(Hang)时间平均不超过53分钟,中档伺服器的稳定度为99%,平均当机时间是88小时,低档伺服器的稳定度仅为90%,平均当机时间高达876小时。
数据中心伺服器托管一般都是采用1U、2U机箱,尤其是访问量大的mail、web、ftp类的伺服器,对稳定度的要求很严格。如何降低伺服器故 障及优化其性能一直是业界所关心的话题。要达到百分之百的零当机是不可能的,我们要做的是深入分析影响伺服器稳定度的关键问题,采用针对性技术有效提高伺服器的稳定性,使当机时间尽可能地缩短。
就笔者的实际经验而言,影响伺服器稳定与安全之因素主要有伺服器的电源供应器、散热系统、伺服器主板选择、软件运用等。本文将就上述硬件的合理配置、如何评测、以及伺服器软件设置、优化等方面的问题进行探讨。
一、电源供应器
熟悉电脑的用户都知道,电源质量的优劣直接影响到系统的稳定和硬件的使用寿命,并不仅仅是将220V市电的交流电转变为电脑所需要的低电压强电流的直流电这么简单。
如果将CPU(处理器)比拟做一台伺服器的大脑,那么电源就可以说是伺服器的血液了。伺服器对电源的要求不仅是要求提供稳定的电流和较高的功率,还必须能应付各种苛刻的工作环境,同时还要求常年不间断地工作。随着CPU主频的提高,功耗将越来越大,硬盘(Harddis)容量和转速等也越来越大、越快,这对电源的要求就更高了。伺服器通常支持的CPU可以达到2个甚至更多。所使用SCSI硬盘约为2-4个,RAM容量2GB以上,以上配件在消耗能量方面都是惊人的。比如Intel P43.2G CPU 功耗达到82W(瓦特);Prescott 0.09微米制程P4-E 3.2G更达103W,所以目前Prescott CPU 己不适合应用在1U、2U机箱做伺服器。而SCSI硬盘的功率也在10W以上,所以伺服器系统所需要的功率远远高于一般PC,一般PC只要200W电源就够用了,而伺服器1U机箱应有300W,2U应有350W。
高品质电源是伺服器正常运行的重要保证,也是一般人最容易忽略的。实践经验告诉我们,电源导致伺服器经常自动重启(Reboot),致使硬盘出现坏道。功率不足使+5V、+3.3V和+12V在满负荷状态运行时(CPU使用率保持在100%,硬盘也在大量读写资料,功率消耗大)出现电压波动,或者散热不良造成过热,是经常性自动重启的主要原因,造成伺服器不能正常提供服务,同时也会缩短硬件的寿命。
二、散热
散热是伺服器要解决的首要问题之一。伺服器硬件一般放在1U、2U机箱内配合机架统一使用,机架伺服器的宽度为19英寸,高度以U为单位(1U=1.75英寸=44.45毫米),在狭小的空间内有大量的硬件高速运行状态下散发的热量非常大,且伺服器一般要求24小时不间断工作,如果机箱材料的选用或内部结构设计不良,导致整体散热性能差,则会经常导致伺服器出现当机、重启等状况。
首先,伺服器机箱的选料就马虎不得。首选全铝质的或者铝合金的,次选铁板。颜色应漆成黑色,以利于散热。采用全铜及直接整体铜切割出来的CPU散热器较好,其散热效果优于其它材料,是伺服器CPU散热的理想选择。但为达到最佳散热效果,须配合品质良好的散热膏并正确地使用。笔者采用Arctic Silver 5纯银散热膏,严格按照说明书操作,成功将CPU温度降低3-4℃。
再者,采用高风量(CFM)散热风扇对伺服器来说也是关键组件,散热风扇一般分滚珠轴承、油封轴承两种。滚珠轴承较为耐用,所以广泛应用,虽噪声略高,但实际上伺服器放在机房中,噪音干扰不成问题。判断风量的大小可以从风扇注明的A(电流量)或W(功率)来作选择,数字越大风量越强。可选择Delta、Sunon、Nidec、Sany、Y.S.Tech等名牌,以确保长期运转不出故障。为提高散热效果,也可选用小型鼓风机(BLOWER)。笔者使用的伺服器,选用小型鼓风机配合1U机箱,另加6个万转4CM电流0.24A强力风扇使机箱温度降低了8-10℃左右。有兴趣了解各类强力风扇的朋友可到超频专门店网址http://www.pcbulb.com/查询。近期Sany推出1.5万转4CM电流0.55A风量20.83CFM超强力风扇是1U伺服器散热较佳配搭。
另一方面要合理设计风道,在安装好硬件后把机箱内的cable、电线整齐地扎好,以保证机箱内气流循环无阻,能更有效地对CPU、RAM、硬盘、南北桥晶片等进行散热。Intel P4CPU温度75℃、AMD CPU温度86℃是工作温度极限,高温时CPU将会自动降低工作效率。所以在1U机箱伺服器P4平台full loading CPU温度能维持65℃左右及机箱温度50℃以内可算不错的散热效果。注:(Intel 的设计规范CPU温度不超过72℃)
三、主板
不可置疑,主板对于伺服器至关重要。主板犹如人的骨架,承载着CPU、RAM(记忆体)等重要部件的运行。如果你的伺服器电源质量可靠,功率充足;机箱及CPU散热良好,但仍偶尔会莫名其妙的当机,就该考虑问题可能出自主板了。有些主板在当机后,因有自我保护功能,必须关掉电源再开机;更有甚者,必须清除CMOS中的记忆,才可以重启,这对伺服器的远程维护与管理造成严重障碍。
INTEL主板是少数通过WHQL微软WINDOWS操作系统硬件质量认证的产品,稳定性和兼容性经受实际考验,INTEL生产的主板严格遵照规格制造。在性能方面INTEL原厂伺服器主板针对WINDOWS操作系统做了优化设计,加上INTEL对自己生产的处理器最为了解,更容易释放出自家处理器的性能,可以说INTEL的主板是高品质与高性能兼具的产品。但是INTEL也有为了稳定性而牺牲性能的传统,与同级的主板晶片组比较,INTEL的主板总是比其它大厂的主板要慢上一点,功能方面也没有太多的扩展性。但是在伺服器最注重稳定性的原则上,笔者强烈推荐采用INTEL主板。
四、评测
综上所述,电源、主板及散热是如此重要。直接影响到伺服器的稳定与安全,那么,你要如何判断其好坏呢?下面,我们将自己动手进行评测,去了解自己的伺服器是否处于一个良好的工作状态。
测试平台的搭建,主要考虑电源输出电压的稳定和主板、CPU等机箱内关键部分温度的测试。对于电源的测试相对比较简单,我们当然没有必要像专业电源制造厂商一样,用示波器、万用表甚至用ATE(自动测试仪)等专业工具来进行测试,仅通过软件来进行测试就足够了。虽然通过软件测试只能作为一个参考,所测值可能会与你的电源的真实值有所差距,但是通过这个测试,我们还是能大概看清自己伺服器中电源的"真实面目"。当然,探测主板及CPU的温度,用软件来测试也是很容易的事了。
Windows任务管理器可以监视电脑的CPU 和RAM使用情况、程式和进程的相关信息。建议搭配下述推荐评测软件共同使用。
*MBM5温度、电压监控软件
MBM5是一款用来探测主板CPU温度以及电压的软件。推荐使用Motherboard Monitor 5(以下简称MBM5)来测试。MBM5最新5.3.6.0英文版本、最新5.3.6.0多语言版本。其适合作业系统:Windows 9X/Me/2000/XP,可在世界网络:http://www.linkwan.com/gb/download/下载。
当温度超高过你的设定值时,MBM5便会启动警示音乐或是显示警示文字,还可以输出TXT或HTML格式的日志文件。
安装MBM5完成后,开始设置,这是关健的一步。因为不同主板的检测晶片是不同的,所以要先设定了MBM5。在程式集里面找出MBM5,然后运行MBM 5Config Wizard。
如下画面出现,点击NEXT。
如安装好的MBM5不能完全支持你最新的主板,请试试点击Update(升级),一般更新后软件会对更多新主板支持。升级完成后,进入下一步,出现如下画面,列出许多厂家和主板型号,根据你的主板,选择相应的主板厂商和主板名称。比如,笔者的主板为Intel S875WP1-E,选好后点击NEXT。
之后会出现一些选项,比如选择温度单位是摄氏度(Celsius)还是华氏度(Fahrenheit)。不同的主板也可能会出现不相同的设定,一般使用默认。
最后点击Finish。到了这一步许多朋友可能会想,这样就应该完成MBM5的安装了吧?其实不然。还有一个非常重要的设置,否则,MBM5测出来的值是不正确的。
运行MBM5,打开管理界面,在安装了语言包后,你可以选择繁体/简体中文。
然后在Voltages(电压)中,Voltages Configuration(电压适配器)要选择自己的主板的型号,如果在列表中没有你的主板型号,请先不要急,那是因为一般的主板都是采用标准的ITE8712F传感器,但你也可以对应你的主板进行相应的选择。
显示CPU温度、主频,风扇转速、机箱温度
点击Apply(应用)后,再看一下Dashboard看看是否都正常。该软件具体的使用,大家可按提示操作。
*OCCT电源测试软件
谈到电源质量的测试,就不得不提一下OCCT这个软件。其适合作业系统:Windows 9X/Me/2000/XP 可在http://www.linkwan.com/gb/download/下载。
OCCT需要和MBM5这个软件共同协作才能为用户提供一份完美的电源质量报告。在测试过程中,OCCT通过MBM5所测出的资料,自动模拟电脑满负载的状态,让电脑连续30分钟满负载运行,最后得出相应的电压波动图表,通过这些图表,用户就可以判断出电源是否令人满意了。
在安装好MBM5及OCCT后,点击桌面捷径方式就可以进入OCCT的主界面了。首先点击右下方的"Option"(选项)键进入设置界面,在这里用户可以对测试电压的负载进行设置,供用户选择的有"Lowest"(最低)或者"Highest"(最高)等5个等级,还可以设置使用内存(RAM)的大小、CPU温度以及输出图像的格式。设置完毕后,点击"Go Back"(返回)回到主界面,再点击左下方的"Test"(测试)键就可以对电源进行测试了。
测试将进行30分钟,这期间,OCCT占用系统资源很多,用户最好不要进行其它操作,否则可能会出现死机。测试完毕后,OCCT将把测试结果以分析图的方式呈现在用户眼前,这些分别是"系统(机箱)温度变化"、"CPU温度变化"、"+5V的电压波动"、"+3.3V的电压波动"、"+12V的电压波动"以及"CPU电压波动"。
如果用户的电源品质良好,那么图表上的各种电压波动幅度会非常小,即使有波动也是在正常范围之内;如果用户电源质量比较低劣,那么图表上各种电压的波动范围也会相应较大。
OCCT还可以单独对CPU进行测试,只要点击主界面下中间的"Torture"(CPU稳定检测)键就可以对CPU进行稳定性测试,并向用户报告错误。另外,由于OCCT可以实时监控CPU温度、系统(机箱)温度以及电源各个输出电压的情况,所以它也可以作为一款监控软件使用。
好了,我们终于可以开始我们的测试了。打开OCCT软件(它会自动关掉MBM5)点击test(测试)。你可以去休息了,约半个小时后再来看看成绩吧。
在OCCT进行测试的过程中,它会模拟你的伺服器在满负荷的状态下运行。在这期间,我们来了解一下伺服器的电源吧。为了保证电源的输出稳定,伺服器电源供应器都设计了一套自动补偿电路,也就是当电源的其中一组电压需要更大的功率的时候,它就会提高那组电压的输出电压,但由于不是每组电压都可以单独进行补偿,也就是说,我们的电源在提高一组电压的同时,其它的所有电压均会相应的提高。这样,就会形成一个特殊的现象,比如+5V因为负载太大而导致输出电压开始下降,电源会同时增加所有的输出电压,并不会单独对+5V进行控制,其结果必然导致其它电压组因为输出电压过渡补偿而超过额定的电压,当电源设计欠佳或输出功率不足时这种特有的现象就更加明显!这样,电脑内许多设备都会在较高的电压环境下工作。
那什么范围才算是合理波动呢?电源输出的正电压,合理的波动范围在-5%~+5%之内,而负电压的合理波动范围在-10%~+10%。
只要电源的输出在合理的范围内,对电脑的配件都不会造成负面影响的,所以也不用过分地关注波动的大小。但波动的相对大小,侧面反映了电源的负载能力,波动率相对越小的电源,其实际的最大输出功率可能越大。
下面我们来看看测试结果吧,笔者的测试是在以下平台完成的:
CPU :P4 2.8G (800FSB)
RAM :1G DDR400RAM
主板:Intel S875WP1-E
硬盘:WD360DG,36G 1万转SATA
电源:美基350CD(300W)
首先来看看CPU温度,从图中可以看出,从44℃升到64℃。看起来还是不错的。
+3.3V电压,大致波动范围是3.3195-3.336V,还不错,是在正常范围(3.14-3.46V)内,此电压主要应用在显卡、PCI、南北桥等设备。
再来看一下,系统要求最高的+5V电压,看这个图,波动曲线还不算大,在(5.123-5.16V)范围内供电包括CPU(旧式主版)、RAM、硬盘、光驱、I/O及主板的其它设备。
+12V,波动范围在11.85-11.975V,波动范围看似挺大的。主要应用在耗电量比较大的设备上,例如风扇,硬盘、光驱,新式主版用来转换为CPU所需的电压。
CPU电压,我在BIOS中设置的是1.45V,所以测试出来的结果也是在1.45V左右,看起来还是平稳。
测试结果看完了,该电源供应器总的来说非常不错,虽然所有电压均稍微偏离中心值,但均在安全的范围内。OCCT不对负电压进行测试,因为这几个电压的输出电流均小,而且相应的正电压的值也就可以大概看出负电压的波动。除了看波动范围,还需看波动大小。由下表可见笔者伺服器所用美基350CD电源的电压波动幅度非常小。
电压 | 合理波动范围 | 美基350CD (300W)实际波动范围 | 稳压精度 |
+5V | 4.75-5.25V | 5.123-5.16V | 3.04% |
+3.3V | 3.14-3.46V | 3.3195-3.336V | 1.1% |
+12V | 11.4-12.6V | 11.85-11.975V | 1.07% |
*Hot CPU Tester系统稳定度测试软件
为进一步考验伺服器的稳定性,笔者还给大家介绍一个不错的软件-Hot CPU Tester。其作用是考验CPU的稳定性以及散热系统的优劣(需要温度监控软件配合使用),不过在烤机(烧机)的时候还有一个附加功能,那就是可以发现CPU是否被超频。其最新版本:4.0,其适合作业系统:Windows 9X/Me/2000/XP,可在http://www.linkwan.com/gb/download/下载。
安装好Hot CPU Tester,桌面会显示一个icon ,双击icon进入Hot CPU Tester的主界面。下面主图左边是菜单,在这里我们可以看到7个选项,分别是"Diagnotisc"(检测运算测试)、"Burn-in"(CPU、RAM测试)、"Benchmark"(基准测试)、"System Info"(系统信息)、"Option"(选项)、"LiveSupport"(在线支持)以及"About"(关于)。可以看出,Hot CPU Tester是一个非常全面的测试软件,在这里,我们着重介绍几个Hot CPU Tester的主要功能。
*稳定性测试
稳定性测试主要是依靠"Diagnotisc"(检测运算测试)和"Burn-in"(CPU、RAM测试)两个功能。只要在"Diagnotisc"(检测运算测试)的界面中单击"Run Test"(开始测试)键就可以开始对系统进行测试。这个测试是让伺服器连续运算各种项目,使CPU在一段时间内保持使用率为100%,以此来测试CPU的稳定性。
中间的界面是测试的项目,包括硬盘、内存(RAM)以及MMX等,下方有CPU资源占用的情况,通常不到几分钟,CPU使用率就会达到100%。如果在这种状态下能让Hot CPU Tester运行达1小时以上,那么CPU的稳定性就算达到标准了。另外,由于CPU长期在100%状态下工作,会产生极大的热量,这个时候通过MBM5温度测试软件就可以看到CPU及系统的温度,并以此判断散热系统的优劣了。
在右下方,Hot CPU Tester会显示测试进行的时间,以及开始测试和结束测试的时间。另外,在Option(选项)中还可以对测试进行一些设置,比如测试的时间以及测试时硬件的状态,有一些功能需要用户注册后才能使用。
如果你只想测试CPU和内存,那么可以进入"Burn-in(CPU、内存测试)"的界面,在这个界面中可以设定测试的次数以及测试内存的大小,然后直接点击"Run CPU Burn-in(开始测试CPU)"键或者"Run Memory Burn-in(开始测试内存)"键进行测试。
小提示:在进行测试的时候,由于伺服器CPU的资源占用率达到了100%,所以这个时候操作其它程式都是危险的,极可能引起系统崩溃,所以在进行Hot CPU Tester测试的时候,应该关闭其它程式。
*性能测试
在Hot CPU Tester中也有类似PCMark2003的系统性能测试。进入Benchmark(性能测试)菜单中,点击右上角的"Run Benchmark"(开始性能测试)就可以对系统整体性能进行测试,测试项目在中间窗口中显示,测试结果会出现在"Total Score"(总分)的空格中。
五、伺服器软件优化
提到系统优化,我们有必要区别碎片整理和系统优化的概念。前者指系统向磁盘存储的文件体积大于磁盘提供的连续存储空间时,因此不得不将文件拆开分别存于几块不连续的物理磁盘区域,从而产生了所谓的磁盘碎片,而通过软件的调整将其转化成连续区域的过程称为碎片整理。系统磁盘优化则全然不同,它有两个方面:首先,根据文件调用的频繁程度来调整它们在磁盘中的位置,把使用频繁的文件放在磁盘开头以达到最短的调用时间;另外一个过程恰好与碎片整理相反,就是整理未被占用的磁盘空间,让它们连成一片,使以后磁盘碎片产生的可能性降至最低。
对访问量大的伺服器,定期的磁盘整理对于提高硬盘访问效率、保持系统稳定性非常有用。一般用户都是习惯使用WINDOWS自带的磁盘整理工具,它的优点在于工作时只占用CPU 10-30%适合伺服器在线时整理,不影响服务但其速度和效能往往不能令人满意。
现介绍二个优秀磁盘优化软件:
1)Norton Utilities
Norton Utilities是诺顿工具包Norton SystemWorks 2003中的一个组件,该软件是一个功能强大的磁盘修复、磁盘优化、系统维护和系统优化工具。在你的伺服器上运行该软件后,你将会发现Norton Utilities所具有的那些性能强大的功能是不可缺少。系统优化(Optimize Performance)选项中的Speed Disk工具,可用于优化系统磁盘,将最常用的档案放在硬碟最前端,使存取时间更短,以提高伺服器性能。优化磁盘的步骤非常简单,大家按下Optimization Map,在右边选择一个需要进行优化的磁盘分区,再按Start Optimizing即可开始优化磁盘。
在优化过程时,我们可以发现,Speed Disk的整理速度要比Windows自带的碎片整理程序快许多。但由于工作时占CPU使用率就会达到50%左右,如伺服器在线时流量大,可能会影响服务。笔者在一台使用Intel P42.8GHz处理器、1G内存、安装WINDOWS 2000SERVER的伺服器上对Norton Utilities进行了测试。为了测试该软件,我们在开启许多应用程式的情况下反复的重启伺服器、向注册表中添加许多错误条目、将程式的捷径指向错误的可执行档案,并且在电脑中反复安装和解除安装软件以便能够在硬盘中产生大量磁盘碎片。在我们所做的测试中,Norton Utilities成功地报告各项错误,而且很好地完成了修复工作。查找及修复系统问题上Norton System Doctor(系统医生),监测的内容要丰富得多。还有Norton Disk Doctor(磁盘医生)和Norton System Check(系统检查)等,功能都很强大。
2.Voptxp V7.12
除了Norton Utilities外,Voptxp v7.12也是优秀磁盘软件,可以把磁盘一些详细资料显示出来包括:磁盘使用和剩余空间图例结构图,当前磁盘碎片个数情况,当前磁盘文件和文件夹个数,分区大小,不连续文件个数,交换文件的情况等,和传统的磁盘碎片整理程序比较,Voptxp v7.12有着更大的优势:多任务窗口、速度快、功能强大等特点,更在"优化"选项中有:互联网优化和系统优化两个不错的功能,是一个完美的测试工具,帮你节省更多时间。
除系统及硬盘的维护问题外,操作系统的安装与配置、系统的及时更新与升级、杀毒软件的使用及日常的管理和维护等都是非常重要的。笔者就自己日常管理网站伺服器的经验,整理出来供大家分享。
a、定期查看系统/网站日志,查看是否有异常报错,以便找出网站存在的问题。系统有那些缺陷,可通过系统日志反映出来,通过网站日志,可以找到那些页面有错误、那些页面需优化、那些图片及文件应删除或减肥使网站访问的效率提升。查看网站日志最好是能安装相关的网站日志分析工具,使日志更直观。
b、必要时重启伺服器也是提高访问速度的方法之一,WIN系统定期重启是必要的,以释放一些使用完而没有被释放的资源。
c、当使用ACCESS数据库时,数据库最好是分多个文件来处理,这样读取和存贮速度都会快很多。数据库很大时最好是用MS SQL,不论是处理资料还是 数据容错性都会有一个质的提升,使用MS SQL要定期对SQL数据库日志进行清理,清理SQL的日志有利于降低系统资源的使用,特别是内存的占用率。
d、经常留意伺服器的资源使用量,查看是那些程式占用的系统资源比较高,是那些程式或那些内容引起的,是否属于正常。留意系统最新的(Service Pack)补丁程式和病毒,及时更新相关软件,打补丁程式要先在其它机上测试后再在伺服器上安装,以免引起兼容性的问题。查看伺服器的流量,随时分析伺服器状态,通过流量可知伺服器是否正常,如有骇客或入侵都会产生比较大的流量。
e、WIN2000在默认情况下会安装一些常用的组件,但是这个默认安装是极度危险的。你应该明确地知道你需要那些服务,而且仅仅安装你确实需要的服务。根据安全原则,最少的服务+最小的权限=最大的安全。典型的WEB伺服器需要的最小组件选择是:只安装IIS的Com Files,IIS Snap-In,WWW Server组件。如果你确实需要安装其它组件,特别是:Indexing Service,FrontPage 2000Server Extensions,Internet Service Manager (HTML)这几个危险服务,请慎重处理。其它的不在此详述。
经过评测,您是否拥有了一台性能稳定、处于良好工作状态的伺服器,为迎接随后接踵而来的访客做好准备了呢?是的,经过了前期细致的建站准备工作,又经过了紧锣密鼓的网站规划建设和网络营销工作,相信您网站的浏览率和知名度将会节节攀升,名列前茅。下期笔者将就优秀中文印刷网站的排名情况和本系列文章做最后的总结。希望不久的将来您能榜上有名
本文的讨论也很精彩,浏览讨论>>
JavaEye推荐
- 北京: 千橡集团暨校内网诚聘软件研发工程师
- 搜狐网站诚聘Java、PHP和C++工程师