Apache服务器是在Linux系统上部署HTTP服务器的一个佳选择。不仅仅因为其稳定、安全,而且其还能够提供比较优越的性能。不过为了提高Apache服务器的性能,Linux系统管理员还是需要调整一些跟性能相关的参数,在Apache服务器中专门有一个模块用来进行相关的调整。作为系统管理员,在部署Apache服务器应用的时候,需要了解这些参数的含义,并根据网站应用的实际情况来进行相关的调整。要实现这个目的,笔者下面的几条建议或许能够对大家有所帮助。

建议一:设置多连接数量。

为了保障每个连接的客户端的性能,往往需要在服务器中设置在同一时间内允许的客户端数量的上限。如在服务器上部署了电子邮件或者FTP等应用服务,为了能够保障下载的速度,需要对连接客户端进行高数量的限制。在Apache服务器中有一个“多连接数量”的栏目,是用来设置这个值。另外也可以利用配置文件中的MaxClinets参数来进行设置。通过这个参数,系统管理员可以限制客户端的连接数量与连接时间,以节省带宽来提供其他的服务或者提高已有连接的效率。当客户端的连接数量超过这个高限制后,所有新建的连接都会被拒绝;当然服务器会把拒绝错误信息返回给客户。

在进行这个设置的时候,需要注意两个问题。一是在Linux操作系统上配置Xinetd服务的时候也可以进行类似的设置。如通过配置Xinetd服务配置文件中的instances参数可以设置单一服务在同一时间内提供客户端连接请求的高上限。那么这个参数跟Apache服务器中的连接数量设置是什么关系呢?如instance参数设置为100;而MaxClints参数设置为120。那么终可以连接到Apache服务器上的客户端数量为多少呢?注意,由于客户端的互联网连接请求是先通过Linux操作系统的,所以在Linux操作系统上的配置往往具有比较高的优先性。为此,当instance参数小于MaxClints参数时,以前者为准;当instance参数大于MaxClints参数时,以后者为准。故有时候客户端提示连接数量超过上,系统管理员往往需要同时检查这两个参数,才能够发现问题的真正原因。二是需要考虑在什么情况下需要启用这个限制。一般来说,如果HTTP服务器上的应用主要是在企业内部网络中应用,由于带宽比较理想,为此不需要设置这个限制。但是如果是面向互联网用户的,则往往需要设置这个限制。如企业部署了一个FTP服务器,供互联网的用户下载。由于其带宽是固定的,当下载的用户越多,其能够得到的下载速度也越低。为此为了给已有连接的用户提供一个比较好的速率,往往需要设置一个多连接数。以免连接用户过多而影响下载的速率。

建议二:允许每次连接可有无限制请求。

如果是在Solaris Linux上部署Apache服务器的话,好对这个参数进行设置。这个选项表示当客户端与服务器建立连接后,每个子进程在结束前所能接受的客户端请求上限。当达到这个上限值之后,这个子进程会中断。这主要是为了避免某些子进程占用过多的服务器资源而导致服务器性能的下降。“设置多的连接数量”选项主要用来限制客户端的连接数量;而每个客户端在同服务器进行连接的时候可以采用多个子进程与服务器进行连接。如FTP连接一个客户端默认情况下可以采用5个子进程进行连接。而这个客户端下载的总速率是5个子进程的总合。故在部署Apache服务器的时候,需要对这个选项进行限制。防止同一个客户端开启了比较多的进程,占用了大量的服务器硬件资源。

不过需要注意的是,这个参数跟另外一个参数keepalive很相似,但是两者有很大的区别。KeepAlive顾名思义,主要是用来保证客户端与服务器之间的一个持续连接。如果Apache服务器主要用来做视频会议或者提供在线观看电影的话,则这个参数很有价值。此时如果把这个参数设置为OFF的话,则客户端浏览器可能必须在包含多重组件的网页中,建立许多连接请求。并且在连接的过程中,每个组件都必须进行单独的连接。而这些额外的请求与连接惠增加服务器的负担及网络带宽的损耗。

在日常的配置中,往往是这个配置选项同时使用。如往往同时启用“允许每次连接可有无限制请求”与KeepAlive选项,并设置可以连接的大进程数。如此的话,即可以避免因为连接数过多而给服务器带来负担;同时又不会影响多次频繁的连接请求而给服务器带来的额外负担。