【发布时间】:2012-03-07 11:01:37
【问题描述】:
由于某种原因,我的 curl 调用非常慢。这是我使用的代码。
$postData = "test"
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, false);
$result = curl_exec($ch);
执行此代码平均需要 250 毫秒才能完成。 但是,当我在浏览器中打开 url 时,firebug 说它只需要大约 80 毫秒。
我做错了什么吗?或者这是与 PHP Curl 相关的开销。
这是召唤
curl_exec
这一直在占用。
更新:
所以我在发布此内容后立即发现,如果我设置 curl 选项
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
速度明显变慢
curl_exec
发布数据可以是任何东西,它会减慢速度。
即使我设置了
curl_setopt($ch, CURLOPT_POST, false);
很慢。
我将尝试通过将参数作为查询字符串添加到 URI 来解决它。
第二次更新:
确认如果我只是使用 GET 调用 URI 并传递参数 作为查询字符串,它比使用 POST 并将参数放在正文中要快得多。
【问题讨论】:
-
您的浏览器和网络服务器是否共享同一个连接?
-
您所在的物理位置是否与您运行它的服务器位于同一物理位置?
-
您是在谈论本地主机测试还是跨州或国家/地区的服务器测试。
标签: php performance curl