gpt4 book ai didi

php - 如何为非阻塞 http 请求配置 PHP 或 Apache

转载 作者:行者123 更新时间:2023-12-02 07:40:29 26 4
gpt4 key购买 nike

我有 apache 作为 http 服务器和 php,我从浏览器向这个有 for 循环的 php 脚本同时发送了大约 5 个请求,这需要很长时间才能完成,我看到所有并发请求都被阻止并按顺序提供服务。

如何为 http 请求服务的非阻塞行为而不是顺序服务行为配置 apache 或 php?

    I know that Tomcat server http connector can tune using following server parameters

– Threads (maxThreads)
– Keep alive requests (maxKeepAliveRequests)
– TCP Backlog (acceptCount)
– connectionTimeout
– Socket buffers
- Use different connectors (nio, apr, bio)

etc...

针对 5 个并发请求进行测试的 php 代码片段,但由 Web 服务器(apache 2.2、php 5.3)按顺序提供服务

<?php
for ($i = 1; $i < 500000; $i++) { //do some processing which takes some time
$sq = sqrt($i);
$val += $sq;
}
echo $val;
?>

最佳答案

我遇到了类似的问题,发现 Apache 和 PHP 配置正确,但我的 PHP 脚本在特定资源上阻塞。在我的例子中,是 session 文件被锁定,每个请求都需要在 session 文件再次空闲并可以服务于新请求之前完成。 (这里有一篇文章更深入地解释了这个问题:http://konrness.com/php5/how-to-prevent-blocking-php-requests/)一旦我阻止了 session 阻塞,我就开始看到人们所期望的并行性。

关于php - 如何为非阻塞 http 请求配置 PHP 或 Apache,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11739709/

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