gpt4 book ai didi

windows - 运行 cgi 程序时 Apache 服务是否有连接/内存限制?

转载 作者:可可西里 更新时间:2023-11-01 11:59:40 25 4
gpt4 key购买 nike

我正在尝试在 Apache 2.0/2.2/2.4 上同时运行数百个 cgi 程序(perl 或其他语言)。我的测试环境是 Windows Server 2003 R2,内存为 1GB。

在程序中,我使用无限循环或“$_ = < STDIN >”让每个进程保持事件状态。在Apache配置中,我将所有相关配置设置得足够大,例如ThreadPerChild设置为1000。然后我使用JMeter测试200个请求。当我在控制台应用程序中运行 Apache 时,它​​工作正常并且所有 200 个 cgi 进程都在运行。但是,当我将 Apache 作为 Windows 服务运行时,只有 60-100 个进程会并发运行。除非我杀死任何正在运行的进程,否则其他人不会启动。我不知道是什么原因造成的。运行 cgi 程序时 Apache 服务是否有连接/内存限制?谢谢!

最佳答案

httpd.conf 文件中的

MaxClients 参数设置 Apache 服务器的最大连接数限制。默认连接限制为 256。

您可以通过打开 httpd.conf 文件并搜索 MaxClients 来检查您的服务器。

httpd.conf 在 linux 中的默认位置是 /etc/httpd/conf/httpd.conf

在 Windows 上,conf 文件的默认位置是 C:/Program Files/Apache Group/Apache/conf/httpd.conf

看起来像这样。

# 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
# ServerLimit: maximum value for MaxClients for the lifetime of the server
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule prefork.c>
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000
</IfModule>

您可以将 MaxClients 值设置为任何需要的值,然后重新启动服务器以应用更改。

关于windows - 运行 cgi 程序时 Apache 服务是否有连接/内存限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11416330/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com