Apache服务器性能如何优化
配置网站,要充分的把系统资源利用出去,榨干系统的一切潜能,让网站速度发挥到极致。Apache,是用户浏览和网站数据的一个中间桥梁。但是在这里,我们虽然做得并不是很多,但是如果心细打理,有些设置也会起到立竿见影的效果。
1、安装Apache的时候,要正确选择MPM
要想让Apache的性能最好,那么第一步要做到的是:选择合适的MPM。 ( 推荐学习:Apache服务器 )
Apache有3个MPM,它们分别是:event、prefork和worker。
其中,event这个MPM比较适用于有大量连续连接的情况。KeepAlive的好处是,可以同一个TCP连接中相应多次请求:这种方式,可以使一个包含大量图片的HTML文档加速50%。在Apahce配置文件httpd.conf中设置KeepAlive为On,就可以启动KeepAlive。
prefork 是一个非线程的MPM,。它的特点是:虽然不是很快,但是很稳定。它能够隔离每个请求,所以,如果某个请求出现故障,不会影响其它请求。使用 prefork最重要的一个参数是MaxClients。
这个MaxClients数值要足够大,这样可以在访问高峰时发挥很好的性能;但是同时又不能太大,致使Apache所需内存超出物理内存的大小。
worker是Apache2版本中新开发的MPM,速度比prefork快很多。而且,由于使用多线程进行访问处理,所以能够处理相对海量的请求,而系统资源的占用也要小于基于进程的服务器。worker是Apache 2的主要使用方式。
worker有两个比较重要的配置参数,那就是:ThreadsPerChild和MaxClients。 ThreadsPerChild用来控制每个子进程允许建立的线程数,MaxClients 用来控制允许建立的总线程数。
那么,这3个MPM要如何选择呢?
如果需要更好伸缩性,可以选用worker或event(因为它们是线程化的MPM);如果需要更加好的稳定性和兼容性(比如要适应一些旧的软件),可以选用prefork。《从prefork到worker:修改ubuntu apache工作模式》
如果你仍然无法评估自己的需求,仍然不知道应该选择哪个MPM,那么就推荐使用worker。
2、Apache配置优化
在Ubuntu中,Apache主要配置文件是/etc/apache2/apache.conf,以下就针对这个文件来配置。
(1)关闭DNS查询
HostnameLookups在默认情况是已经被设置为off,务必保持该设置。如果需要统计客户端DNS,那么可以使用第三方软件来实现。
(2)优化MaxClients
Apache2启动的时候会创建一些进程(配置文件中的StartServer设定的数目),并保持一个最大的MaxClients数;每一个超过该数目的连接请求,都会排队等待。
以上就是Apache服务器性能如何优化的详细内容,更多请关注其它相关文章!