在公司内网用到了apache2做web服务器,每当内部发文的时候,尤其是一些人事任免及销售目标下发、达成情况总会出现达到最大连接数的情况,导致阻塞。
一般apache采用prefork和worker机制,通过apachectl -l命令查看默认使用的prefork机制。需要修改prefork策略
那么需要做如下修改:
1,/usr/local/apache2/conf/http.conf 引入(include)prefork配置文件/usr/local/apache2/conf/extra/httpd-mpm.conf,
2,修改httpd-mpm.conf配置文件的prefork配置部分
# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 1000 ##必须放在MaxClients上面 且值>=MaxCliens
MaxClients 1000
MaxRequestsPerChild 10000
</IfModule>
注意:
1,默认情况下prefork配置部分没有ServerLimit配置,其在/usr/loca/apache2/bin/httpd(16进制)中编译,一般会报错如下
MaxClients of 1000 exceeds ServerLimit value of 256 servers,
lowering MaxClients to 256. To increase, please see the ServerLimit directive.
2,修改conf文件后,需要重新启动
3,
prefork采用预派生子进程方式,用单独的子进程来处理 不同的请求,进程之间彼此独立。
相对于prefork,worker全新的支持多线程和多进程混合模型的MPM。由于 使用线程来处理,所以可以处理相对海量的请求,而系统资源的开销要小于基于进程的服务器。但是,worker也使用了多进程,每个进程又生成多个线程,以 获得基于进程服务器的稳定性。(第三点摘自:http://www.itlearner.com/article/4443)
分享到:
相关推荐
MaxClients n 1、apache1.x n是整数,表示最大连接数,取值范围在1和256之间,如果要让apache支持更多的连接数,那么需要修改源码中的httpd.h文件,编辑/httpd-2.0.59/include/httpd.h中的HARD_SERVER_LIMIT值改大...
- **连接数设置**:`MaxClients`设定最大并发连接数,`MinSpareThreads`和`MaxSpareThreads`控制空闲线程的最小和最大值,以确保快速响应新请求。 - **最大请求响应数**:`MaxRequestsPerChild`设定每个子进程处理...
这些参数分别定义了启动时的进程数、最小和最大空闲进程数、最大并发连接数以及每个子进程处理请求的次数上限。 服务器优化通常涉及调整 MPM 参数以平衡资源消耗和响应能力。例如,提高 `MaxClients` 可以处理更多...
研究的重点是MaxClients参数,该参数控制着Web服务器可以同时处理的最大客户端连接数。通过实证分析和技术手段,本文证明了MaxClients对响应时间具有向上凹效应,并且可以通过爬山算法找到其最优值。文中还研究了三...
在描述中提到,通过修改 Apache 源代码中的常量 DEFAULT_SERVER_LIMIT 和 MAX_SERVER_LIMIT 来设置最大服务器限制,以及 DEFAULT_THREAD_LIMIT 和 MAX_THREAD_LIMIT 来设定最大线程限制。这允许服务器处理更多的并发...
- `MaxClients`:同时处理的最大客户端连接数。 - `MaxRequestsPerChild`:每个子进程处理的请求最大数量,达到后自动重启。 2. **Worker MPM**:这是一种更高效的MPM,支持多进程和多线程,能够更好地利用现代...
- `MaxClients`: 最大并发客户端连接数,设置为10000,以应对高并发场景。 - `MaxRequestsPerChild`: 单个子进程处理的最大请求数,设置为10240,以防止内存泄漏。 2. **其他优化策略**: - **减少重负模块**:...
其中,`MaxClients`定义了可以同时处理的最大客户端连接数,是性能优化的重点之一。 - **连接数调整**: - **理论最大值计算**:根据服务器硬件资源(如内存大小),可以大致估算出能够支持的最大并发连接数。例如...
17. **MaxClients**: 允许的最大并发连接数,防止资源过度集中。 18. **MaxRequestsPerChild**: 单个进程能处理的最大请求数,防止内存泄漏。 19. **Listen**和**VirtualHost**: `Listen`用于指定Apache监听的端口...
- **MaxClients**:最大客户端连接数,默认值为 150。 - **MaxRequestsPerChild**:每个子进程处理的最大请求数量,设置为 0 表示不限制。 #### worker MPM - **StartServers**:启动时的初始工作子进程数量,...
这包括调整Apache的配置参数,如MaxClients(最大并发连接数)、KeepAliveTimeout(保持连接超时时间)等,以及启用缓存机制如mod_expires和mod_deflate来提高页面加载速度。 最后,定期备份和维护是防止数据丢失的...
- `MaxClients`: 最大客户端连接数。 - `MaxRequestsPerChild`: 单个子进程处理的最大请求数量,设为0表示不限制。 #### worker MPM `worker`是一个多线程管理模型,适用于高负载的场景。以下是相关配置示例: ``...
2. 调整`MaxClients`参数,设定最大并发连接数,确保在高负载下仍能稳定服务。 3. 调整`KeepAliveTimeout`,设置客户端无活动后断开连接的等待时间,以释放服务器资源。 综上,MySQL和Apache调优的目标都是提高系统...
8. **性能调优**:Apache的性能可以通过调整各种参数进行优化,例如最大并发连接数(`MaxKeepAliveRequests`和`MaxClients`)、请求超时时间(`KeepAliveTimeout`)等。 9. **错误页面自定义**:通过`ErrorDocument...
- **MaxClients**:最大并发客户端连接数。 - **MaxRequestsPerChild**:每个子进程处理的最大请求数量。 **worker MPM** - **StartServers**:初始创建的子进程数量。 - **MaxClients**:最大并发客户端连接数。 -...
- `MaxClients`: 最大同时连接数。 - `MinSpareThreads`: 保持最少空闲线程数。 - `MaxSpareThreads`: 保持最多空闲线程数。 - `ThreadsPerChild`: 每个子进程创建的线程数。 - `MaxRequestsPerChild`: 每个子...
配置包括`StartServers`(启动时的进程数)、`MinSpareServers`(最小空闲进程数)、`MaxSpareServers`(最大空闲进程数)、`MaxClients`(最大并发连接数)和`MaxRequestsPerChild`(每个子进程处理请求的上限,...
- MaxClients:服务器可同时处理的最大客户端连接数。 - MaxRequestsPerChild:单个子进程处理的最大请求数。 - **worker MPM**: - StartServers:启动时的工作进程数。 - MaxClients:允许的最大并发连接数...
- `MaxClients`:单个 Apache 实例能同时处理的最大客户端连接数。 - `MaxRequestsPerChild`:每个子进程在结束前可以处理的最大请求数,0表示无限。 **worker 模式** worker 模式结合了多线程和多进程的优点,每个...