首页 >> 中医保健

调整服务器性能呢

中医保健  2021年09月06日  浏览:3 次

有些性能损失,如提供安全控制的特性造成的损失,只能尽量减少,而无法消除。为了减少这些特性造成的损失,对于安全控制,可以在设置文件中针对根目录指定AllowOverrider None禁止查找.htaccess文件,只对于特定需要访问控制的目录才打开访问控制功能。此外,还要设置XbitBack为Off来关闭缺省文档的 SSI 功能,只使用AddHandler指令执行SSI文档。

除了高级特性找成的性能损失之外,还有的性能损失是由于子进程服务的方式造成的,Apache服务器在这个方面做了很大的努力,由于使用服务器的用户需求多种多样,因此缺省需求并不一定最适合服务器,便需要调整参数设置。

为了提升服务器性能,Apache服务器所做的一个有效的改动为使一个子进程能服务多次HTTP请求,这样就不再需要不断生成进程造成的性能损耗。但同时为了避免一个进程服务提供过多的次数的服务造成内存垃圾,Apache定义了一个MaxRequestPerChild来规定一个进程提供服务的次数,缺省设置为30。如果服务器提供的为静态页,产生内存垃圾的机会就很少,可以将其设置为2000或者更高。即使服务器载入了各种不同的功能模块,产生内存垃圾的机会就多一些,可以相应将这个值的设置降低一些。

此外,还可以定义另一个参数MaxClients,用于设置Apache服务器可以同时拥有的最多进程数。进程数目越多,那么占用的内存数量就越大,一旦占用的内存超过系统的物理内存,那么就必须有多余的进程被交换到交换空间中,这样的事情一旦发生,服务器的效率就急剧降低了。因此,即使希望服务器能同时提供较多的服务,也不能超过服务器的物理内存限制进行设置。通常这可以通过计算进行估计,根据每个httpd守护进程占用空间的大小计算出这个数值的上限。或者可以根据系统维护命令,如top等,观察每个子进程占用的空间及系统内存分配情况。一般来讲,Apache服务器占用的空间并不会特别厉害,但一旦载入特别的模块,特别是modperl,它就会使用较多的内存。

原则上虽然可以使用物理内存来估算MaxClients的值,但是一方面还要考虑CPU的处理能力,当系统进程过多的时候,系统在进程之间切换造成的资源损失太大,就得不偿失了(top命令中的CPU利用率选项中,有一项sys 就用于标识内核占用的处理器处理时间的比率,这一个比率不应该过大)。另一方面,由于FreeBSD是合并内存和磁盘缓冲区的机制,因此应该给磁盘缓冲区留下一定的大小,毕竟Web服务器中磁盘I/O的性能也非常重要。

FreeBSD中,编译时设定了最大的客户进程数为512,这是一个硬性设置,不能通过配置文件来更改的。如果想想将MaxCliets设置为大于512,就必须使用新的HARD_SERVER_LIMIT定义重新编译 Apa che服务器。在非Ports Collection编译的Apache版本中,它的缺省设置为256。

因此就需要综合考虑这些因素来设置MaxClients,首先要为磁盘缓冲区留下足够的空间,并以不交换到交换设备上为原则,定出一个上限值,然后根据处理器的情况进行分析。如果这个站点主要提供的是静态页,那么对处理器的要求不大,就可以设置MaxClients为接近内存许可的上限值。如果这个站点有很多CGI程序,尤其是当这些CGI 程序需要执行繁重的处理任务时,那么系统启动过多的CGI程序,都不会迅速结束,反而不如让系统启动较少的CGI程序效率高,因此就要考虑适当降低 MaxClients的设置。

考虑Maxclients设置的前提是同时有超出现有Maxclients设置的并发请求发生,如果系统本来就没有那么多的并发请求,就不必考虑增加这个设置的值,而应该使用最大并发访问请求数来设置这个参数。

如无意外 为了确定服务器的最优设置,可以通过使用Apache提供的一个性能测试软件ab来进行模拟访问,这个程序缺省被安装到/usr/local/sbin中。例如使用ab向本地服务器的一个页同时发起50个连接,共进行1000次连接,就执行:

bash-2.02$ /usr/local/sbin/ab -n 1000 -c 50 localhost/This is ApacheBench,

Version 1.2Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd,

(c) The Apache Group,

Server Software:

Apache/1.3.4Server Hostname: localhostServer Port:

80 Document Path: /Document Length:

360 bytes Concurrency Level: 50Time taken for tests:

3.881 secondsComplete requests: 1000Failed requests:

0Total transferred: 607212 bytesHTML transferred:

360720 bytesRequests per second: 257.67Transfer rate:

156.46 kb/s received Connnection Times (ms)

min avg maxConnect: 0 0 1Processing:

26 190 1034Total: 26 190 1035

先调整相应的设置,然后使用ab模拟真实情况下的连接,来测试服务器的性能,并进一步调整参数以获得最佳的设置。

为了避免服务器进程在系统空闲时被无意义的杀死,可以简单的将MinSpareServers、MaxSpa reServers和StartServers的值设置

太原治疗白癜风医院费用
海口治疗包皮包茎费用多少钱
宫腔镜手术后10天食谱
友情链接