![配置 httpd.conf 以接受 1,000 个连接 - 如何](https://linux22.com/image/581624/%E9%85%8D%E7%BD%AE%20httpd.conf%20%E4%BB%A5%E6%8E%A5%E5%8F%97%201%2C000%20%E4%B8%AA%E8%BF%9E%E6%8E%A5%20-%20%E5%A6%82%E4%BD%95.png)
我想编辑我的 httpd.conf 以接受最多 1,000 个客户端连接。这是我现在所拥有的:
启动服务器 8 最小备用服务器数 5 最大备用服务器数 20 服务器限制 256 最大客户数 256 每个子项的最大请求数 4000 启动服务器 2 最大客户数 150 最小备用线程数 25 最大备用线程数 75 每个子线程数 25 每个孩子的最大请求数 0
我该如何编辑它?
答案1
假设您有足够的 RAM 来处理请求,并且您正在使用 prefork 多处理模块,则您可以使用 2 个指令MaxClients
和ServerLimit
来设置将要处理的同时请求的总数;
要检查 prefork 运行apachectl -V | grep MPM
并查找以下输出;
# apachectl -V | grep MPM
Server MPM: Prefork
-D APACHE_MPM_DIR="server/mpm/prefork"
这最大客户数指令设置了同时处理的请求数量的限制。
任何超过 MaxClients 限制的连接尝试通常都会被排队,最高数量取决于 ListenBacklog 指令。一旦子进程在另一个请求结束时被释放,该连接就会得到服务。
但是它ServerLimit
也对 apache 为处理请求而产生的进程数量设置了最大限制。
对于 prefork MPM,ServerLimit 指令设置 Apache 进程生命周期内 MaxClients 的最大配置值。
因此我会选择类似的东西;
ServerLimit 1000
MaxClients 1000
对于For the worker MPM, this directive in combination with ThreadLimit sets the maximum configured value for MaxClients for the lifetime of the Apache process. Any attempts to change this directive during a restart will be ignored
工人来说ThreadLimit 文档在这里