使用 php curl 如何加快速度?

我是使用 php curl 與對方的數據庫做互動

https://img4.mukewang.com/5c8f4795000193b800980376.jpg

一頁可能會跑三至五個 curl 程式

https://img3.mukewang.com/5c8f479600015cce05400032.jpg

我用谷歌瀏覽器看到有一個項目會跑至少3秒左右
我在想是不是curl的問題
因為我看其他都是ms單位...慢不到哪去

curl_setopt($ch, CURLOPT_POST, 1);
  curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
  curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
  curl_setopt($ch, CURLOPT_TIMEOUT, 5);
  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);

我把這段寫了一個function
所以當該頁需要哪一隻API我就會啟用它
因此有時候一頁可能會需要三至五個
花的時間特久
想問說有沒有其他種寫法,能夠更快?!

小唯快跑啊
浏览 1664回答 4
4回答

九州编程

觉得自己写的不保险可以挂个小库咯……比如Guzzle这种……但你给的这些代码真的看不出来啥,访问慢跟很多因素都有关系,不是你这一小段配置就能卡死的。。。

月关宝盒

谢邀。你可以抓个包分析一下,有多种可能 如果从执行curl到发送dns请求(如果你的目标主机名是个域名的话)的时间过长,那就是curl启动太慢(我对php也不熟,不知道php执行curl要不要fork) 如果从发送dns请求到得到dns回复的时间过长,那就是域名解析太慢,可以换个快一点的dns或者直接使用ip 如果从发送http请求开始(可以从发送syn包开始算)到得到http回复的时间过长,那就是对方查询效率较低,不是你的问题 还可以用chrome发送同样的请求,看时间上有什么区别。 当然还有可能有别的原因,比如网络原因,如果你网络状况不好的话当然也会慢了。
打开App,查看更多内容
随时随地看视频慕课网APP