我们普通的电脑一般只有2000到5000元左右。超过6000元可以买到很高配置的电脑,玩市场上绝大部分的3D游戏已经非常流畅了,吃鸡更加是不在话下。然而在数据中心里面的服务器,起步价格都基本是一万以上,那么这样的服务器到底和普通的电脑有哪些不同呢,为什么那么贵,是不是买了这样的服务器来打游戏会飞起来呢?
服务器
第一,数据中心的服务器主要是用于为大量用户提供服务的,一般一台现代的普通服务器具有可以同时为数千个用户同时提供网站访问的能力。这样一来服务器的处理能力是非常强大的,很多普通的服务器内部都安装了两个CPU,而每个CPU内部都具有10个核心,这样以来一台服务器就具有了20个物理核心。普通的服务器CPU内部的高速缓存大概有25MB左右,而两个CPU加起来差不多有50MB的高速缓存了。高速缓存越多,指令可以直接在CPU内部执行而不用从内存中读取导致延时,大大提高了速度。而现代普通的家用电脑一般只有1个CPU,4个核心,高速缓存大概只有4MB-6MB,相比之下并行处理能力就少了很多。
第二,由于服务器需要同时为大量用户提供服务,其安装的内存容量也是巨大的。很多服务器标配就安装了64GB内存,基本最大可以扩充到512GB以上(快相当于一块硬盘的容量了)。而且还可以使用带ECC功能(也即Error Checking and Correcting,中文翻译为错误检测与纠正)的内存条,这样如果长时间使用的时候,内存内部偶然一个位的数据错误可以被自动发现和纠正。这一切都是硬件层面使用算法自动完成的,意味着像银行,保险这样对数据稳定性高要求的行业长期使用的时候,不会出现金额出错之类的情况。普通玩家的电脑一般只安装了8-16GB内存,也几乎不会使用ECC的内存。因为具有ECC功能的内存和主板,CPU需要额外的电路来支持纠错算法,成本贵很多。
第三,由于需要为大量用户服务,意味着需要为这些用户提供海量的存储空间。一般服务器至少具有4-12个硬盘的插槽,每个位置插入一块2TB的硬盘的话,就具有了2X12=24TB的容量。同时许多服务器内部还安装有RAID整列卡,可以通过插入硬盘的数量来灵活组成整列,来大大提升读写速度,或者更多冗余的配置来保证数据的安全。同时很多阵列卡上还自带电池,可以在服务器异常掉电的时候,保证写入磁盘的缓冲区的数据可以临时保存在整列卡内部的存储空间内,在恢复电力的时候把数据写入到磁盘内,大大加强了数据安全性。而我们普通电脑一般就是一块1TB-2TB的硬盘,平时大家都会另外备块移动硬盘来自己保存数据。
第四,服务器基本都配置了双电源,多风扇系统以及多网络接口,尽量保证系统的冗余性。在模个模块故障的时候,其他模块依然可以正常工作。而我们普通的电脑一般只具有1个电源,1个风扇,以及1个网络接口。
第四,这也是服务器与很多普通电脑最大的不同,就是基本都带了一个管理口。这个管理口内连接的模块在服务器接上外部电源后就启动了(即使服务器内部安装的系统没有启动的时候)。而通过网络连接管理口的地址,可以进入到服务器的管理口系统,来远程开关机,远程修改服务器的BIOS设置,远程安装系统,甚至输入文字操作鼠标等远程控制。即使服务器内部运行的系统由于中毒,磁盘损坏等原因死机了,这个管理口还是可以被进入访问到,相当于在服务器内部一个单独的小电脑。这样以来就大大方便了服务器的运维人员,即使不去数据中心,也可以远程来管理服务器。
最后大家可能要问了,说了这么多服务器这么强大,用来打游戏快吗,流畅吗?这里我要告诉大家,玩很多普通的3D游戏是肯定没有问题的,但是有些对性能要求比较高的游戏(特别是CPU方面),会出现卡顿。这是什么原因呢?其实主要是用途不同吧,服务器的主要设计是用于同时服务大量用户的,所以具有很高的数据吞吐量。但是游戏的需求是单个用户的高性能,需要CPU主频在3.5Ghz以上才能流畅全特效玩耍,而很多多核心的服务器主频一般都不是很高(不超过3Ghz),这样就导致了价格很贵很贵的服务器来玩一些3D游戏的时候没有想象中那么流畅。当然一般玩家也不会用一个耗电大户以及几个高转速风扇嗡嗡响的服务器来打游戏了。