Apache 不是多线程的?

问题描述 投票:0回答:3

我在 localhost 上使用 Apache Lounge 已经超过 3 个月了。 今天,我通过运行使用 sleep(10) 并同时打开 2 个浏览器选项卡的脚本,发现我的 Apache/PHP 安装不是多线程的。 (第二个选项卡在第一个选项卡完成后 10 秒加载)。

我已经安装了 Apache(apache.org 版本),但没有任何改变。 我正在使用 PHP 5.3.6 VC9 线程安全。

有什么问题吗?

multithreading apache
3个回答
0
投票

您必须确保您使用的是 Apache 的 Worker MPM,而不是 prefork。根据您的安装,您可能只需将 /usr/sbin/httpd2 符号链接到 /usr/sbin/httpd2-worker (或安装它的任何位置)。

当然,在您的情况下,您也可以增加配置中的最大进程数,这应该使您能够打开多个选项卡并让它们同时运行。

类似这样的:

StartServers       2
MinSpareServers    2
MaxSpareServers    8
ServerLimit        8
MaxClients         8
KeepAlive off

0
投票

我也有同样的问题。我使用

sleep(4)
将请求从 Chrome 的 3 个浏览器选项卡发送到一个本地脚本,并且响应正在互相等待。但我检查了如果我从 Chrome 发送一个,然后从 Firefox 发送第二个,这种情况不会重现


0
投票

您似乎偶然发现了一个浏览器功能: 仅当您切换到该选项卡时才会加载后台选项卡;它是许多浏览器当前的默认设置(检查您的设置或使用两个不同的浏览器进行检查)。 问候 :-)

© www.soinside.com 2019 - 2024. All rights reserved.