个人服务器架设其实很简单,系统优化思路

当你在计划构建个人服务器时,应考虑一些相关因素:拟在服务器上提供的服务,相关服务软件推荐的硬件配置,
包括理器速度,硬盘大小,内存数量,你的支付能力等,因为它们直接关系到服务器的性能.另外, 
如果你所建的个人服务器的IP地址是动态获取,最好是利用动态域名解析系统,实现动态域名解析,让别人可以通过域名访问你的服务器.

Linux操作系统是一个开源产品,也是一个开源软件的实践和应用平台,在这个平台下有无数的开源软件支撑,我们常见的apache、tomcat、mysql、php等等,开源软件的最大理念是自由、开放,那么linux作为一个开源平台,最终要实现的是通过这些开源软件的支持,以最低廉的成本,达到应用最优的性能。因此,谈到性能问题,主要实现的是linux操作系统和应用程序的最佳结合。

服务器是网络应用系统的心脏.如果你有一台个人PC,想将它配置成服务器,并向用户提供网络服务,首先得看它是否真正具有相应的能力.如果你正准备选购一台计算机并将它配置成一台个人服务器,下面的内容也许有些帮助,供大家参考.

系统的性能是指操作系统完成任务的有效性、稳定性和响应速度。Linux系统管理员可能经常会遇到系统不稳定、响应速度慢等问题,例如在linux上搭建了一个web服务,经常出现网页无法打开、打开速度慢等现象,而遇到这些问题,就有人会抱怨linux系统不好,其实这些都是表面现象。操作系统完成一个任务时,与系统自身设置、网络拓朴结构、路由设备、路由策略、接入设备、物理线路等多个方面都密切相关,任何一个环节出现问题,都会影响整个系统的性能。因此当linux应用出现问题时,应当从应用程序、操作系统、服务器硬件、网络环境等方面综合排查,定位问题出现在哪个部分,然后集中解决。
在应用程序、操作系统、服务器硬件、网络环境等方面,影响性能最大的是应用程序和操作系统两个方面,因为这两个方面出现的问题不易察觉,隐蔽性很强。而硬件、网络方面只要出现问题,一般都能马上定位。本章主要讲解操作系统方面的性能调优思路,应用程序方面需要具体问题具体对待。

服务器及相关硬件的购置 

解决系统性能问题的一般思路
下面从影响操作系统性能的因素、性能优化工具、系统性能评价标准三个方面介绍优化Linux的一般思路和方法。

选择一款合适的服务器来满足用户的需要,需要对服务器使用有一个正确的理解.在进行服务器选配时,需要考虑三个方面的因素:

影响Linux性能的因素
1.CPU
CPU是操作系统稳定运行的根本,CPU的速度与性能很大一部分决定了系统整体的性能,因此,cpu数量越多、主频越高,服务器性能也就相对越好。但事实也并非完全如此。
目前大部分CPU在同一时间内只能运行一个线程,超线程的处理器可以在同一时间运行多个线程,因而,可以利用处理器的超线程特性提高系统性能,在linux系统下,只有运行SMP内核才能支持超线程,但是,安装的CPU数量越多,从超线程获得的性能上的提高就越少。另外,Linux内核会把多核的处理器当作多个单独的CPU来识别,例如两颗4核的CPU,在linux系统下会认到8颗CPU。但是从性能角度来讲,两颗4核的CPU和8颗单核的CPU并不完全等价,根据权威部门得出的测试结论,前者的整体性能要低于后者25%-30%。
可能出现CPU瓶颈的应用有邮件服务器、动态web服务器等,对于这类应用要把CPU的配置和性能放在主要位置。
2.内存
内存的大小也是影响linux性能的一个重要的因素,内存太小,系统进程将被阻塞,应用也将变得缓慢,甚至失去响应,内存太大,导致资源浪费。Linux系统采用了物理内存和虚拟内存的概念,虚拟内存虽然可以缓解物理内存的不足,但是占用过多的虚拟内存,应用程序的性能将明显下降,要保证应用程序的高性能运行,物理内存一定要足够大,但是过大的物理内存,会造成内存资源浪费,例如在一个32位处理器的Linux操作系统上,超过8G的物理内存都将被浪费。因此,要使用更大的内存,建议安装64位的操作系统,同时开启linux的大内存内核支持。
由于处理器寻址范围的限制,在32位linux操作系统上,应用程序单个进程最大只能使用2G的内存,这样以来,即使系统有更大的内存,应用程序也无法“享”用,解决的办法就是使用64为处理器,安装64位操作系统,在64位操作系统下,可以满足所有应用程序对内存的使用需求[g1]
,几乎没有限制。
可能出现内存性能瓶颈的应用有打印服务器、数据库服务器、静态web服务器等,对于这类应用要把内存大小放在主要位置。
3.磁盘I/O宽带
磁盘的I/O性能直接影响应用程序的性能,在一个有频繁读写的应用中,如果磁盘I/O性能得不到满足,就会导致应用的停滞。好在现今的磁盘都采用了很多方法来提高I/O性能,比如常见的磁盘RAID技术。
RAID的英文全称为:Redundant Array of Independent
Disks。翻译成中文即为独立磁盘冗余阵列,简称磁盘阵列。RAID通过把多块独立的磁盘(物理硬盘)按不同方式组合起来形成一个磁盘组(逻辑硬盘),从而提供比单个硬盘更高的I/O性能和数据冗余。
通过RAID技术组成的磁盘组,就相当于一个大硬盘,用户可以对它进行分区格式化、建立文件系统等操作,跟单个物理硬盘一模一样,唯一不同的是RAID磁盘组的I/O性能比单个硬盘要高很多,同时对数据的安全性也有很大提升。
根据磁盘组合方式的不同,RAID可以分为RAID0,RAID1、RAID2、RAID3、RAID4、RAID5、RAID6、RAID7、RAID0+1、RAID10等级别,常用的RAID级别有RAID0、RAID1、RAID5、RAID0+1,这里简单介绍如下:
l RAID
0:通过把多块硬盘粘合成一个容量更大的硬盘组,提高了磁盘的性能和吞吐量。这种方式成本低,要求至少两个磁盘,但是没有容错和数据修复功能,因而只能用在对数据安全性要求不高的环境中。
l RAID
1:也就是磁盘镜像,通过把一个磁盘的数据镜像到另一个磁盘上,最大限度的保证磁盘数据的可靠性和可修复性,具有很高的数据冗余能力,但磁盘利用率只有50%,因而,成本最高,多用在保存重要数据的场合。
l
RAID5:采用了磁盘分段加奇偶校验技术,从而提高了系统可靠性,RAID5读出效率很高,写入效率一般,至少需要3块盘。允许一块磁盘故障,而不影响数据的可用性。
l
RAID0+1:把RAID0和RAID1技术结合起来就成了RAID0+1,至少需要4个硬盘。此种方式的数据除分布在多个盘上外,每个盘都有其镜像盘,提供全冗余能力,同时允许一个磁盘故障,而不影响数据可用性,并具有快速读/写能力。
通过对各个RAID级别的介绍,我们就可以根据应用的不同特性,选择适合自身的RAID级别,从而保证应用程序在磁盘方面达到最优的性能。
4.网络I/O宽带
Linux下的各种应用,一般都是基于网络的,因此网络带宽也是影响性能的一个重要因素,低速的、不稳定的网络将导致网络应用程序的访问阻塞,而稳定、高速的带宽,可以保证应用程序在网络上畅通无阻的运行。幸运的是,现在的网络一般都是千兆带宽,或者光纤网络,带宽问题对应用程序性能造成的影响也在逐步降低。
5.总结
通过对以上四个方面的讲述,不难看出,每个方面之间都是相互依赖的,不能孤立的从某个方面来排查问题,当一个方面出现性能问题时,往往会引发其它方面出现问题。例如大量的磁盘读写势必消耗CPU和I/O资源,而内存的不足会导致频繁的进行内存页写入磁盘、磁盘写到内存的操作,造成磁盘I/O瓶颈,同时,大量的网络流量也会造成CPU过载。所以,在处理性能问题时,要纵观全局,从各个方面进行综合考虑。

①网络环境及应用软件指整个系统的主要用途是什么.具体来说就是服务器支持的用户数量,
用户类型,处理的数据量等方面内容.因为不同的应用软件的工作机理是不一样的,因此,针对不同的应用,对服务器选配的要求区别很大.本书中介绍的服务器的构建包括Web服务器,FTP服务器,邮件服务器,新闻组服务器,游戏服务器等.

...

②服务器的可用性服务器是整个网络的核心,不但在性能上能够满足网络应用需求,而且还要具有不间断地向网络客户提供服务的能力.实际上,服务器的可靠运行是整个系统稳定发挥功能的基础. 

③服务器的选配服务器有低端,中端和高端几种类型,一般来说服务器的档次基本上确定了服务器所能支持的最大用户数.作为个人服务器,不可能选用高档的专用服务器.目前比较高档的个人PC也基本上能胜任相对简单的服务器的角色. 

个人服务器的选购可以有以下三种考虑: 

高档商用PC.PC工作在单用户和单线程环境中,与服务器的多用户环境有显著的不同.PC在设计时采用不同部件选型,配置的2个人服务器基础1策略,如增强的显示性能,相对较差的网络子系统等.高档PC可应用于对服务器性能要求较低的环境.伪服务器.用PC的处理器芯片,服务器的名来充当服务器,稍微好一些的服务器采用部分服务器技术,如专业电源等.性能比高档PC稍好一点.低档服务器.通常兼顾性能,可扩展性,可用性和可管理性等多个性能指标,兼容多种操作系统以支持多种网络环境.在低价位下实现服务器功能,此种机型不失为一种较好的选择. 

服务器的良性运转与否不是由单方面的因素决定的.选择合适的服务器的硬件配置只是一方面,它仅仅是提供了服务器性能的硬件平台.另一方面还需要对它进行优化配置,有时后者比前者显得更为重要.这样才能用最小的代价获得最佳的性能. 

相关硬件的选购 

如果你构建的服务器已经置身于网络环境中,则只需选购好服务器和一块性能较好网卡即可,由于服务器处于数据服务的中心,数据流量较大,很容易成为数据交流的瓶颈,因此,要尽可能将服务器以较高的带宽线路连接在网络的主干上.对于个人服务器而言,也至少保证在100M以上的交换线路上.对提供的应用进行分析构建个人服务器,一般可能提供的应用包括WEB服务,FTP服务,邮件服务,BBS服务,聊天服务,流式媒体服务,游戏服务等,它们对服务器的要求各有所侧重.因此,构建个人服务器时,要根据可能提供的服务对服务器的硬件进行具有针对性的配置. 

Web服务 

Web服务器的性能与网站内容有关.如果Web站点是静态的,对服务器的要求相对较低,系统瓶颈依次是:3个人服务器架设初步个人服务器基础网络子系统和内存.如果网络系统也在你的管辖范围,建议提高网络带宽,增加服务器的内存.如果Web服务器主要进行密集计算(例如动态产生Web页),对服务器的整体要求都会比较高.系统瓶颈依次是:内存,CPU,磁盘子系统和、网络子系统.建议增加服务器的内存,选择运算速度更快的服务器CPU,选择大容量服务器硬盘,提高网络带宽. 

流式媒体服务 

视频服务器需要负责控制媒体及媒体流在网络上传输,I/O吞吐量对服务器性能起着关键的影响.视频服务器的瓶颈依次是:网络子系统,磁盘子系统和内存.建议提高网络带宽,选择大容量服务器硬盘,增加服务器的内存. 

音频服务由于所需要的数据存储空间,网上数据流量较小,对服务器硬件配置要求较低,现在的服务器子系统基本上都能满足音频服务.在个人服务器的选购时没有特别要求. 

聊天服务 

对聊天服务器性能的要求要从三个方面来考虑.如果仅提供文字聊天服务,对服务器的性能要求相对要低一些;如果提供文字,语音聊天服务,要求要高一些;如果同时提供文字,语音,视频聊天服务,则需要性能相

对较高的服务器硬件配置.服务器瓶颈依次为:网络子系统,内存,磁盘子系统和CPU.建议提高网络带宽,增加服务器内存,采用大容量服务器硬盘和运算速度较快的服务器CPU. 

相关文章

Comment ()
评论是一种美德,说点什么吧,否则我会恨你的。。。