apache中MaxClients和ServerLimit参数介绍
2015-12-24 15:28
537 查看
在apache中我们有两种工作模式MaxClients和ServerLimit,它们在于apache性能上起到了很大的作用,下面我来给大家介绍MaxClients和ServerLimit参数详解
prefork模式和worker模式参数详解
使用httpd -l命令查看使用的线程模块,一般是prefork.c和work.c两者,前者居多。确定后修改http配置文件相应的部分,如prefork.c的:
这里StartServers是开始的进程数,MinSpareServers是最小空闲进程数,MaxSpareServers是最大空闲进程数。MaxRequestsPerChild是每个进程请求这么多次后就释放重新建立(为0时永远不释放)。
这里我们要说的重点就是ServerLimit和MaxClients值有什么关系,这个值怎么设置?
ServerLimit是最大的进程数,MaxClients是最大的请求并发,所以他们的关系是MaxClients=ServerLimit*进程的线程数。
1.对于perfork.c模块,其特点是
每个子进程只有一个线程。每个进程在某个确定的时间只能维持一个连接。在大多数平台上,Prefork MPM在效率上要比Worker MPM要高,但是内存使用大得多。prefork的无线程设计在某些情况下将比worker更有优势:它可以使用那些没有处理好线程安全的第三方模块。
既然是一个进程一个线程,所以在prefork.c下,这两个值是相等的。注:ServerLimit最大值为2000.
2.对于work.c模块来说,是多线程的,默认是一个进程有25个线程,因此如果设置ServerLimit为100,那么MaxClients最大可以设置为2500。
这里说说我们可怜的vps,为了省钱一般只有512m-1g的内存,而prefork.c一个进程占用30-45m左右的内存(这个值跟php-fpm下php-cgi内存占用相当),所以如果有512m的内存话,系统+mysql(最小节约配置)吃掉250m左右,剩下的内存也就是跑10个进程,所以这个值真的是很可怜,不过对于流量小的站点,这个并发也够用了,一般跑个上千的流量不是问题。所以做web服务,有钱还是多弄点内存的好,或者跑lnmp是比较合适的选择。
prefork模式和worker模式参数详解
使用httpd -l命令查看使用的线程模块,一般是prefork.c和work.c两者,前者居多。确定后修改http配置文件相应的部分,如prefork.c的:
代码如下 | 复制代码 |
<IfModule prefork.c> StartServers 5 MinSpareServers 3 MaxSpareServers 10 ServerLimit 16 MaxClients 16 MaxRequestsPerChild 2000 </IfModule> |
这里我们要说的重点就是ServerLimit和MaxClients值有什么关系,这个值怎么设置?
ServerLimit是最大的进程数,MaxClients是最大的请求并发,所以他们的关系是MaxClients=ServerLimit*进程的线程数。
1.对于perfork.c模块,其特点是
每个子进程只有一个线程。每个进程在某个确定的时间只能维持一个连接。在大多数平台上,Prefork MPM在效率上要比Worker MPM要高,但是内存使用大得多。prefork的无线程设计在某些情况下将比worker更有优势:它可以使用那些没有处理好线程安全的第三方模块。
既然是一个进程一个线程,所以在prefork.c下,这两个值是相等的。注:ServerLimit最大值为2000.
2.对于work.c模块来说,是多线程的,默认是一个进程有25个线程,因此如果设置ServerLimit为100,那么MaxClients最大可以设置为2500。
这里说说我们可怜的vps,为了省钱一般只有512m-1g的内存,而prefork.c一个进程占用30-45m左右的内存(这个值跟php-fpm下php-cgi内存占用相当),所以如果有512m的内存话,系统+mysql(最小节约配置)吃掉250m左右,剩下的内存也就是跑10个进程,所以这个值真的是很可怜,不过对于流量小的站点,这个并发也够用了,一般跑个上千的流量不是问题。所以做web服务,有钱还是多弄点内存的好,或者跑lnmp是比较合适的选择。
相关文章推荐
- 优化Apache,提高并发
- 学习使用apache comments io包中的IOUtils中的方法
- 在Mac OS上使用mod_wsgi连接Python与Apache服务器
- Found interface org.apache.hadoop.mapreduce.TaskAttemptContext, but class was expected
- Apache Storm 翻译简介
- Apache负载均衡配置文件
- 【php】win2003虚拟机中apache服务器的访问
- Linux+Apache+SVN搭建SVN服务器(CentOS)
- 解决Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:2.12.4
- window下为apache配置ssl证书
- 在Mac OS上自行编译安装Apache服务器和PHP解释器
- 在Mac OS上使用mod_wsgi连接Python与Apache服务器
- 在Linux系统上部署Apache+Python+Django+MySQL环境
- Linux下将Python的Django项目部署到Apache服务器
- 使用Apache服务器mod_wsgi模式部署Django
- Apache虚拟机配置多端口站点
- repo.maven.apache.org timeout解决办法
- apache rewrite重写配置和本机域名配置,访问权限设置,伪静态实际应用
- apache2.4 的mpm配置
- Apache启动脚本的建立