我的配置如下:
<IfModule mpm_worker_module>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
ServerLimit没写就是16,它决定系统最多启动几个httpd进程。
ThreadLimit 没写默认是64,
ThreadsPerChild* ServerLimit=25*16=400,
400就是系统理论支持的最大并发。
MaxClients<ThreadsPerChild* ServerLimit,
MaxClients如果大于400将被限制在400.
400只是理论最大并发,实际并发就是MaxClients的值。
理论并发有什么用我不知道。
我做了如下试验:
第一次,ab -n 10000 -c 5000 http://192.168.1.101/
Time taken for tests: 127.952487 seconds
Requests per second: 78.15 [#/sec] (mean)
Time per request: 63976.242 [ms] (mean)
Time per request: 12.795 [ms] (mean, across all concurrent requests)
Transfer rate: 22.89 [Kbytes/sec] received
第二次,ab -n 10000 -c 400 http://192.168.1.101/
Time taken for tests: 138.340074 seconds
Requests per second: 72.29 [#/sec] (mean)
Time per request: 5533.603 [ms] (mean)
Time per request: 13.834 [ms] (mean, across all concurrent requests)
Transfer rate: 21.17 [Kbytes/sec] received
第三次,ab -n 10000 -c 150 http://192.168.1.101/
Time taken for tests: 6.727553 seconds
Requests per second: 1486.42 [#/sec] (mean)
Time per request: 100.913 [ms] (mean)
Time per request: 0.673 [ms] (mean, across all concurrent requests)
Transfer rate: 435.37 [Kbytes/sec] received
前提:访问apache的静态页面,本机。
结论是:并发如果大于MaxClients,服务器的效率会很低,如果并发等于小于MaxClients,10000个请求将迅速被处理完毕,效率很高。
疑问:400这个理论并发是不是就是用来限制MaxClients的啊?或许吧。
下次再给Nginx做个试验看看同一个页面的处理能力,当然服务器并发要设置成相同。
分享到:
相关推荐
在worker模式下,Apache可以根据预设的策略将请求分发到不同的worker,从而实现负载均衡。这个模式通常用于将请求分配到多个Tomcat实例,以分散服务压力,提高系统的响应速度和容错能力。 在设置Apache + Tomcat的...
在 Worker 工作模式下,Apache 服务器使用多个子进程来处理客户端请求,每个子进程可以处理多个请求。然而,在 Worker 工作模式下,Apache 服务器也存在一些限制,例如 MaxClients 设置不足的问题。 MaxClients ...
在这种模式下,Apache 创建多个子进程,每个子进程只处理一个请求。这种方式确保了每个请求的独立性,如果一个请求出现错误,不会影响其他请求的处理。因此,prefork 模式在对系统稳定性要求较高的环境中非常有用。 ...
本文章来给各位同学介绍判断apache的工作模式是prefork模式还是worker...知道模式之后我们可以在apache的confextrahttpd-mpm.conf 进行编辑了 # # Server-Pool Management (MPM specific) # # # PidFile: The file i
- 说明:该参数用于调整Apache使用的库文件路径,通常适用于特殊需求下的配置。 27. **--enable-suexec** - 用途:启用suEXEC机制。 - 说明:suEXEC使得Apache能够以不同的用户权限执行CGI程序或SSI指令,增强...
例如,在 `mpm_netware` 和 `perchild` 模块被启用的情况下,会创建一个名为 `apache_runtime_status` 的文件在 `logs` 录下。 ### 3. PidFile 参数 `PidFile` 参数用于指定主进程 PID 文件的路径。PID 文件记录了...
### Apache工作模式深入解析:Prefork MPM与Worker MPM Apache HTTP Server 是一款广泛使用的Web服务器软件,它提供了多种多样的配置选项来满足不同场景的需求。其中,工作模式(Multi-Processing Modules, MPMs)...
### Ubuntu Linux 下 Apache 与 Tomcat 的整合 在 Ubuntu Linux 环境中,Apache 和 Tomcat 的整合是一项常见的任务,旨在实现静态内容通过 Apache 服务器进行高效分发,而动态内容(如 Java 应用)则通过 Tomcat ...
Apache 提供的 Prefork、Worker 和 Event 三种 MPM 分别适用于不同场景下的性能需求。通过仔细配置这些 MPM 的参数,可以显著提高 Web 服务器的性能和可靠性。选择合适的 MPM 并进行合理的配置调整是优化 Apache ...
Apache的两种工作模式: prefork模式: 使用多个子进程,每个子进程只包含一个线程 特点:效率高,内存使用率高 worker模式 使用多个子进程,每个子进程包含多个线程 特点:内存使用率低,一个线程崩溃,整个...
**Apache在Windows 64位环境下的安装与配置** Apache HTTP Server是世界上最流行的Web服务器软件之一,它提供了高效且可扩展的平台,用于托管各种类型的网站和应用程序。本指南将详细讲解如何在Windows 64位操作...
在`prefork`模式下,配置文件`httpd-mpm.conf`中的`ServerLimit`、`StartServers`、`MinSpareServers`、`MaxSpareServers`、`MaxClients`和`MaxRequestsPerChild`等指令用于控制子进程的创建和管理。例如,`...
二进制形式则可以直接放入Apache的modules目录下。 3. **配置mod_jk**:在Apache的配置文件httpd.conf中,需要加载mod_jk模块,通过`LoadModule jk_module modules/mod_jk.so`指令。然后,定义JK工作模式,例如使用...
在 Linux 环境下,Apache 提供了多种多进程多线程模型,如 Prefork 和 Worker 模式,可以通过重新编译来选择工作模式。但在 Windows 系统中,Apache 默认使用的是 mpm_winnt 模式,无法通过编译选择其他工作模式。...
在Windows环境下,可以使用提供的apache_2.0.55-win32-x86-no_ssl.msi进行安装。在安装过程中,确保选择合适的安装路径,并记住Apache的服务名和监听端口。 2. **安装mod_jk**:将mod_jk-apache-2.0.55.so模块添加...
在 `httpd-mpm.conf` 文件中,调整了 ServerLimit、ThreadLimit、StartServers、MaxClients、MinSpareThreads、MaxSpareThreads、ThreadsPerChild 和 MaxRequestsPerChild 等参数以适应服务器的硬件配置和预期负载。...
本教程将详细介绍如何在Windows环境下,利用Apache 2.2.24和mod_jk模块实现与Tomcat的集群配置。 首先,我们需要下载Apache HTTP Server 2.2.24的Windows版本,这在文件`appache-httpd-2.2.24-win32.zip`中提供。...
在Windows环境下,将Apache HTTP Server和Tomcat集成是常见的服务器配置任务,以便利用Apache的静态内容处理能力以及Tomcat对动态内容(如JSP、Servlet)的支持。以下是一份详细的步骤指南,帮助你理解整合过程。 *...