apache服务器性能不行,apache服务器性能调优

apache配置文件:

配置文件所在位置

./apache2/conf/httpd.conf

9f7b5c230bf7b07d2b994d93c7b484d6.png

进入监控页面:

http://ip:端口/serverstatus

实例:http://localhost:8091/serverstatus

apache调优:

1.AllowOverride这个设置为有两种设置:All和none,如果设置为All,那么程序在运行时会所有的站点查找.htaccess这个文件,如果为了让性能达到最优一般建议设置为none。

2.HostnameLookups和其它DNS如果将这个选项设置为on,那么表示每次访问URL地址时都做NDS和主机查询的操作。一般设置为off。

3.Modul

删除不必须的模块内容,因为模块加载都所消耗时间,加载模块语法为:LoadModule,一般status_module这个监控模块都会在运行时取消。

MPM调优:

MPM全称:Multi-Processing Module(多线程处理模块)

MPM处理的模式有很多种:prefork MPM、worker MPM、BeOS MPM、NetWare MPM、OS/2 MPM、WinNT MPM

类UNIX常用的模式有三种:prefork、worker、event

对于windows的服务器一般使用的是winnt.c的模块对于类unix一般使用的是prefork、worker、

event三种模块中的一种。

下面我们介绍这三种模块的工作原理。

prefork模块

ce4e1014fcb6ef5965e6fb94d4e6e740.png

当apache启动之后,系统会生成一个httpd的进程,再由这个进程生成多个子进程,每个子进程只能生成一个线程,每个线程只能处理一个HTTP讲求,如果HTTP请求处理完成后,就会将这个线程和子进程销毁,那么如处理高并发请求时,即如果有很多的HTTP请求从客户端向上服务器时,就得不停的创建子进程和线程,这样会带更多的CPU资源的消耗。

worker模块

5237e38e85d5874715cd8cdf398bb90b.png

当apache启动之后,系统会生成一个httpd的进程,再由这个进程生成多个子进程,每个子进程只能生成多个线程,这个可以最大限度发挥并发作用。因为worker模块相当于prefork模块最大的优点是即使我们同时处理多HTTP请求,系统资源的消耗会降到最小化。但是其它最大的缺点:

一:由于同一个子进程生成的线程是共享相同的内存的,所以如果有某个线程出现异常时,会导致父子进程出现异常。

二:如果某线程出现长连接等待时,其它的线程必须也是在长时间等待。

event模块

07ab90be541aa0c6c7363bb9c3bc0474.png

为了解决worker模块存在的问题,event模块在worker模块的基础上添加了一个关于管理与分配线程的程序,这样来更的分配系统资源去处理我们的HTTP请求,避免worker模块存在的问题。

通常在类UNIX操作系统下的event的参数设置:

StartServers 10

MinSpareServers 10

MaxSpareServers 15

ServerLimit 20

MaxClients 1000

MaxRequestsPerChild 10000

StartServers,MinSpareServers,MaxSpareServers,ServerLimit,MaxClients,MaxRequestsPerChild

举报/反馈

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值