服务器整体架构介绍
发布时间: 2008年07月30日
服务器是由多个子系统组成,每个子系统都担任体现服务器性能的重要角色。某些子系统担任着相比其它子系统更重要的体现性能角色,根据服务器做什么应用来定。
这些服务器中的子系统有:
处理器及缓存
处理器是服务器的心脏,参与处理几乎所有的服务器产生的事务。由此可见处理器是非常重要的子系统,人们总有错误的想法认为处理器是造成性能瓶颈的来源,所以认为买越快的处理器越好。
在服务器所安装的主要元件当中,处理器是过于强大而其它子系统是不够强大的。只有少数的特殊应用能在真正意义上完全使用到当今的P4或64位处理器的优势。
不需要太多处理器工作量的经典的服务器例子是文件服务器(是因为,通过同时合作,服务器的最普通的使用)。大部分的文件需求流量会使用DMA(直接内存读取)技术来绕过处理器只依赖于网络,内存,硬盘子系统来达到吞吐量的存储。
当今INTEL公司有很多数量的为X系列服务器定制的处理器。明白各种处理器之间的不同与优势是非常重要的。
缓存,从严格意义上讲是内存子系统的一部分,在当今物理上是跟处理器封装在一起的。CPU跟缓存是紧密结合在一起的,运行速率是处理器的一半或同等。
PCI总线
PCI总线是服务器输入与输出数据的管道。所有的X系统的服务器使用PCI总线(包括PCI-X和PCI-E)来实现重要适配器的来源,如SCSI及硬盘。高端服务器一般有多路PCI总线及相比于以前具有更多的PCI槽。
高级的PCI总线包括新的PCI-X 2.0及PCI-E总线技术,它们提供了更高的数据吞吐及连接功能。连接到CPU及缓存的桥梁是PCI芯片。这一套元件管理着PCI总线及处理器和内存子系统的连结。PCI芯片组严格地做到匹配处理器及内存的处理要求来最大化地完善系统的性能。
内存
对服务器的性能起关键作用的是内存。如果服务器没有安装足够的内存,
系统的性能变得很差,因为操作系统发觉需要将其它的数据放在内存中而内存存储空间又不够时,会将数据停滞在硬盘当中。
其中一个企业X架构的服务器的功能是内存镜象,通过镜象来提高冗余容错功能。这是IBM内存技术中的一种,可以大概等同于硬盘的RAID-1功能,内存被分为两组端口,一组镜象于另一组。所以有的镜象功能都由硬件来实现,无需操作系统的额外支持。
硬盘
可能从管理员的观点来看,硬盘子系统是决定服务器性能的关键。在成金字塔形状排列的在线存储设备(缓存,内存,硬盘)来看,硬盘是最慢的也是最大的。对于很多服务器应用来讲,几乎所有的数据都存储在硬盘中,所以一个快的硬盘子系统就变得尤为重要。
要增大存储空间,服务器一般会选做RAID。然而,RAID阵列会对服务器的性能产生重大的影响。
首先,选择不同的阵列级别来定义不同的逻辑硬盘会影响性能,同时,我们所关心的存储空间及奇偶校验信息也会不同。IBM的ServeRAID阵列卡及IBM光纤通道卡能提供实现不同的阵列级别,它们分别有自己的特殊配置方案。同样重要的决定性能的另一点是你所选择的配置阵列的硬盘数量:硬盘越多,就能得到越好的吞吐量。理解RAID是如何处理I/O需求的是对最优化性能起重要作用的。
新的串行技术现在已经应用到提高性能及可靠性的应用当中了。包括SATA及SAS技术。
网络
网络适配器是服务器对外的接口。如果数据通过这个接口能达到优越的性能,那么不够强大的网络子系统能对服务器的整体性能实现具有重要的影响。
除了服务器以外,网络的设计也同样重要。交换机分配不同网段,或是类似的ATM技术的运用是值得考虑的。
千兆网卡现在已经被普遍应用于服务器当中来提供必要的高吞吐量。然而,新的如TCP Offload Engine技术,用以来实现
显卡
显示子系统在服务器当中相对来讲变得不重要,因为只在管理员要控制服务器的时候才会用到它。客户端永远都不会用到显卡,所以对于服务器来讲很少重视这一子系统的性能。
操作系统
我们认为操作系统是有可能造成性能瓶颈的一个子系统,跟其它的硬盘子系统一样。在操作系统例如Windows, Linux, ESX Server, 和 NetWare中有相关的设置可以更改来提高服务器的性能。
对性能起决定作用的子系统取决于服务器的应用。通过收集及分析性能数据可以消除相应的瓶颈。然而,这个任务不是一下就能完成的。瓶颈会根据使用者的对服务器工作量的变化而发生变化,可能每天或每周都有相应的变化。