我正在尝试在 ubuntu/apache 框上扩展到 4000 个并发连接。
它有 8 核/64GB RAM,因此不会占用内存或 CPU,或任何资源。问题在于配置。在 aws 上运行。
提供一个名为“hello world”的静态文件;
到目前为止我已经尝试过:
<IfModule prefork.c>
StartServers 500
MinSpareServers 2000
MaxSpareServers 4000
ServerLimit 5000
MaxClients 50000
MaxRequestsPerChild 10000
</IfModule>
它运行正常,直到有 1500 个并发用户,之后添加的每个连接都会失败或超时。
我还能看什么?
答案1
您是否尝试过调整 Apache 的 ulimit?它是在 中设置的/etc/apache2/envvars
。
## 如果您需要更高的文件描述符限制,请取消注释并调整
以下行(默认为 8192):
#APACHE_ULIMIT_MAX_FILES='ulimit -n 65536'
答案2
尝试这个设置它会有所帮助
keepalive: On
keepalivetimeout: 5
maxclients: 1500
maxkeepaliverequests: 100
maxrequestsperchild: 100000
maxspareservers: 100
minspareservers: 50
serverlimit: 2560
startservers: 50
timeout: 300