【发布时间】:2015-11-14 13:22:45
【问题描述】:
问题是我必须使用 curl,有时由于超时,curl 请求需要很长时间。我已将超时设置为 1 秒,因此任何请求都不会超过 1 秒,但服务器仍然无法处理其他 php 请求。
我的问题是 nginx/php-fpm 可以处理多少个并发脚本(同时运行)。我看到的是一些持续 1 秒的请求使整个服务器无响应。我可以更改哪些设置以便同时处理更多请求?
【问题讨论】:
-
你可以试试异步 curl php.net/manual/ro/function.curl-multi-init.php
-
不需要多卷曲,每个php脚本只发出一个卷曲请求。但是如果 3-4 个用户在他们的浏览器中调用脚本并且所有请求都需要 1 秒才能达到超时,那么服务器就会对其他人无响应。
-
我刚刚看到一些请求需要 14 秒,尽管超时时间仅为 1 秒。现在我将 CURLOPT_CONNECTTIMEOUT 和 CURLOPT_TIMEOUT 都设置为 1 秒。我想知道这怎么可能需要 14 秒。