apache中MaxClients和ServerLimit参数介绍

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>

这里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是比较合适的选择。

时间: 2024-08-31 02:39:42

apache中MaxClients和ServerLimit参数介绍的相关文章

Apache中RewriteCond规则参数的详细介绍

Apache中 RewriteCond语句对于我来说一直是个难点,多次试图去把它搞明白,都没有结构,这次我终于算大概知道它的意思了   RewriteCond就像我们程序中的if语句一样,表示如果符合某个或某几个条件则执行RewriteCond下面紧邻的RewriteRule语句,这就是RewriteCond最原始.基础的功能,为了方便理解,下面来看看几个例子. 复制代码 代码如下: RewriteEngine on RewriteCond %{HTTP_USER_AGENT} ^Mozilla

apache中MaxRequestsPerChild参数配置经验分享

MaxRequestsPerChild参数介绍 用 记事本打开apache2confhttpd.conf, 查找MaxRequestsPerChild,将MaxRequestsPerChild 0改成MaxRequestsPerChild 50即可. 通常在"Windows任务管理器-进程"中可以看到两个apache.exe进程,一个是父进程.一个是子进程,父进程接到访问请求 后,将请求交由子进程处理. MaxRequestsPerChild这个指令设定一个独立的子进程将能处理的请求数

Python中函数的参数传递与可变长参数介绍

  这篇文章主要介绍了Python中函数的参数传递与可变长参数介绍,本文分别给出多个代码实例来讲解多种多样的函数参数,需要的朋友可以参考下 1.Python中也有像C++一样的默认缺省函数 代码如下: def foo(text,num=0): print text,num foo("asd") #asd 0 foo("def",100) #def 100 定义有默认参数的函数时,这些默认值参数 位置必须都在非默认值参数后面. 调用时提供默认值参数值时,使用提供的值,

Apache中rewrite规则介绍

基于服务器级的(httpd.conf)有两种方法,一种是在httpd.conf的全局下直接利用RewriteEngine on来打开rewrite功能;另一种是在局部里利用RewriteEngine on来打开rewrite功能,下面将会举例说明,需要注意的是,必须在每个virtualhost里用RewriteEngine on来打开rewrite功能.否则virtualhost里没有RewriteEngine on它里面的规则也不会生效. 基于目录级的(.htaccess),要注意一点那就是必

Apache中配置最大并发用户数 tcp连接设置

 Apache在配置编译时可以自主的选择想要使用的MPM模块,使用./configure --with-mpm=MPM命令.我们主要了解prefork和worker这两种MPM模块. Prefork 如果不用"--with-mpm"显式指定某种MPM,prefork就是Unix平台上缺省的MPM.它所采用的预派生子进程方式,用单独的子进程来处理不同的请求,进程之间彼此独立.在make编译和make install安装后,使用httpd -l来确定当前使用的 MPM是prefork.c.

Apache中配置最大并发用户数 tcp连接设置方法

Apache在配置编译时可以自主的选择想要使用的MPM模块,使用./configure --with-mpm=MPM命令.我们主要了解prefork和worker这两种MPM模块. Prefork 如果不用"--with-mpm"显式指定某种MPM,prefork就是Unix平台上缺省的MPM.它所采用的预派生子进程方式,用单独的子进程来处理不同的请求,进程之间彼此独立.在make编译和make install安装后,使用httpd -l来确定当前使用的 MPM是prefork.c.查

如何在 Apache 中启用 HTTP/2

如何在 Apache 中启用 HTTP/2 Copyright (C) 2015 greenbytes GmbH 刚发布的 Apache httpd 2.4.17 终于支持 HTTP/2 了.这个页面给出了一些如何构建/部署/配置的建议.目的是为了大家发现 bugs 时能升级它,或者给一些能更好工作的建议. 最后,这会归并回到官方 Apache 文档,这里只会留下一个到那里的链接.暂时我们还没做到. 源码 你可以从这里得到 Apache 版本.Apache 2.4.17 及其更高版本都支持 HT

HDFS命令行客户端使用,命令行客户端支持的命令参数,常用命令参数介绍

3.HDFS的shell(命令行客户端)操作 3.1HDFS命令行客户端使用 HDFS提供shell命令行客户端,使用方法如下: [toto@hadoop hadoop-2.8.0]$ hdfs dfs -ls /     (推荐使用这种方式,hdfs现在这种是最新的一种方式) Found 4 items drwxr-xr-x   - toto supergroup          0 2017-05-29 14:01 /findbugs-1.3.9 drwxr-xr-x   - toto s

在SWF中获取HTML网页参数

网页 本教程主要介绍HTML网页如何取得形如test.html?foo=mytest的foo参数,以及在HTML网页中如何向swf传递参数. 一.在HTML网页中使用js获取参数. 我们知道HTML页面是在客户端执行的,这样要获取参数必须使用客户端脚本(如JavaScript),在这点上不同于服务器端脚本获取参数方式. 下面的这段js代码获取HTML网页形如"test.html?foo=mytest&program=flash" "?"后所有参数. <