PHP curl 缓慢

标签 php performance curl

出于某种原因,我的 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

post 数据可以是任何东西,它会减慢它的速度。

即使我设置

curl_setopt($ch, CURLOPT_POST, false);

它很慢。

我将尝试通过将参数作为查询字符串添加到 URI 来解决这个问题。

第二次更新:

确认如果我只是使用 GET 调用 URI 并传递参数 作为查询字符串,它比使用 POST 并将参数放在正文中要快得多。

最佳答案

CURL 在 DNS 查找方面存在一些问题。尝试使用 IP 地址而不是域名。

关于PHP curl 缓慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9304645/

相关文章:

performance - 长整数例程可以从 SSE 中受益吗?

php - 将标题保留在动态网站上

php - mysql行变成属性

java - Java 中最快的字符到字符串转换

sql - 使用 TOP 和 ESCAPE 更改查询计划和执行时间

php - 如何将 cURL 转换为 PHP cURL

c++ - 无名类或对象或函数,代码的含义

php - 在 Windows 8 上使用 PHP 5.6 启用 CURL

PHP preg_match UUID v4

PHP:Postgres 数组和 pg_insert