-
6月07日
-
建立WEB服务器,在实际的站点运行中,也许服务器的性能表现会不尽如人意,这就需要分析具体的服务器性能瓶颈并找到解决办法,从而达到一个理想的负载状态,apache硬件以外的调优就要考虑他的工作模式、加载的模块、系统内核参数、以及连接请求等等,在此只做一些常用且简单的调优介绍。
apache的调优应从以下几点考虑:
模块:由于模块会占用一定的内存资源,所以无用的模块建议不装。
连接状态:由于连接的建立和保持都需要消耗硬件资源,所以为保证硬件性能和访问数相协调,需要对一下数值优化
/proc/sys/net/ipv4/tcp_max_syn_backlog
对于那些依然还未获得客户端确认的连接请求,需要保存在队列中最大数目
/proc/sys/net/ipv4/tcp_syn_retrirs
/proc/sys/net/ipv4/tcp_synack_retries
retries的次数,测试指定次数后确认断开连接,建议改小至2
/proc/sys/net/ipv4/tcp_keepalive_time
/proc/sys/net/ipv4/tcp_keepalive_intvl
/proc/sys/net/ipv4/tcp_keepalive_probes
tcp_keepalive_time为保持回话的时间,
tcp_keepalive_intvl为隔多少秒探针一次,
tcp_keepalive_probes为一共探几次
/proc/sys/net/ipv4/tcp_tw_recycle
/proc/sys/net/ipv4/tcp_tw_reuse
数值设置为1为可回收内存
/proc/sys/net/ipv4/tcp_max_syn_backlog
最大连接请求数(开始建立三次握手,但还没有完成)
/proc/sys/net/core/somaxconn
控制socket listen的队列数
lKeepAlive Off/On
保持连接,会减少三次握手,但是会消耗内存是否打开,取决于单位时间内是否进行多次连接(三次握手),一个连接有多次请求的,建议打开,并适当调整KeepAliveTimeout时间
lMPM工作模式:
prefork模式:使用多个子进程,每个子进程只有一个线程。每个进程在某个确定的时间只能维持一个连接。在大多数平台上,Prefork MPM在效率上要比Worker MPM要高,但是内存使用大得多。prefork的无线程设计在某些情况下将比worker更有优势:它可以使用那些没有处理好线程安全的第三方模块,并且对于那些线程调试困难的平台而言,它也更容易调试一些。
worker模式:使用多个子进程,每个子进程有多个线程。每个线程在某个确定的时间只能维持一个连接。通常来说,在一个高流量的HTTP服务器上,Worker MPM是个比较好的选择,因为Worker MPM的内存使用比Prefork MPM要低得多。但worker MPM也由不完善的地方,如果一个线程崩溃,整个进程就会连同其所有线程一起"死掉".由于线程共享内存空间,所以一个程序在运行时必须被系统识别为"每个线程都是安全的"。
MPM中的MinSpareServers和MaxSpareServers
MinSpareServers指令设置空闲子进程的最小数量。所谓空闲子进程是指没有正在处理请求的子进程。如果当前空闲子进程数少于MinSpareServers ,那么Apache将以最大每秒一个的速度产生新的子进程。只有在非常繁忙机器上才需要调整这个参数。同时不建议调太大。
MaxSpareServers指令设置空闲子进程的最大数量。所谓空闲子进程是指没有正在处理请求的子进程。如果当前有超过MaxSpareServers数量的空闲子进程,那么父进程将杀死多余的子进程。
打比方apache的进程就是理发店的师傅,MinSpareServers的设置是理发师为一个客户服务,但是又来了其他客人也需要服务是吧,这个就是针对这个情况的。MaxSparServers就是最多有多少个理发师闲着,比如一个普通的理发店,有10000个理发师,很明显不科学,理发师住的地方都不够吧。所以这个值的设置取决于实际情况。当访问量大是应适当调大一点。
简而言之:StartServers的值是只要启动服务就会立即启动几个进程,并尽力保持几到几个空闲服务器运行。进程数的硬性限制由 MaxClients 指定。尽管一个进程能够处理许多相继的请求,Apache 还是会取消连接数超过MaxRequestsPerChild 值以后的进程,来降低内存浪费的情况!
除非注明,文章均为宿迁波仔博客原创,转载请注明本文地址:http://wangboxyk.cn/post/Apache-FuWuQi-Web.html标签:服务器
- 评论:(3)
- 隐藏评论
【评论很精彩,有内幕、有真相!】