为了账号安全,请及时绑定邮箱和手机立即绑定

使用 php curl 如何加快速度?

使用 php curl 如何加快速度?

PHP
小唯快跑啊 2019-03-18 15:24:06
我是使用 php curl 與對方的數據庫做互動 一頁可能會跑三至五個 curl 程式 我用谷歌瀏覽器看到有一個項目會跑至少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我就會啟用它因此有時候一頁可能會需要三至五個花的時間特久想問說有沒有其他種寫法,能夠更快?!
查看完整描述

4 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

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

查看完整回答
反对 回复 2019-03-18
?
月关宝盒

TA贡献1772条经验 获得超5个赞

谢邀。你可以抓个包分析一下,有多种可能

  1. 如果从执行curl到发送dns请求(如果你的目标主机名是个域名的话)的时间过长,那就是curl启动太慢(我对php也不熟,不知道php执行curl要不要fork)
  2. 如果从发送dns请求到得到dns回复的时间过长,那就是域名解析太慢,可以换个快一点的dns或者直接使用ip
  3. 如果从发送http请求开始(可以从发送syn包开始算)到得到http回复的时间过长,那就是对方查询效率较低,不是你的问题

还可以用chrome发送同样的请求,看时间上有什么区别。

当然还有可能有别的原因,比如网络原因,如果你网络状况不好的话当然也会慢了。

查看完整回答
反对 回复 2019-03-18
  • 4 回答
  • 0 关注
  • 1663 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信