PHP Async Curl POST 在 500 毫秒内减慢了我的代码

我正在尝试扩大/加速我的应用程序


所以我正在开发一个登陆页面,它保存数据并在保存数据后重定向,为了保存数据,我在我的服务器上使用了另一个服务,从 CURL 获取发布数据并将其发布到 Bigquery。


问题是 CURL 执行的时间约为 700 毫秒,当我删除 CURL 代码时,我正在 95-110 毫秒内执行代码


这是我的 CURL 代码示例 -


    $ch = curl_init();


    curl_setopt($ch, CURLOPT_URL, $request_url);

    curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    curl_setopt($ch, CURLOPT_POSTFIELDS, $array);

    curl_setopt($ch, CURLOPT_TIMEOUT, 1);

    curl_exec($ch);

    curl_close($ch);

我希望通过改进卷曲代码或替代解决方案将卷曲时间从 700 毫秒降低到 50-180 毫秒


繁星淼淼
浏览 131回答 2
2回答

四季花海

1) 尝试删除 FRESH_CONNECT,它每次都会创建一个新的 TCP,如果速度是您所追求的,那么您不希望这样。当您第一次执行 CURL 时,将建立 TCP 连接。发送数据时,连接保持活动状态,因此可以重复使用,默认时间为 60 秒。因此,它会帮助您在 60 秒内的第一个呼叫之后提高每次呼叫的速度。2) 由于您没有使用 curl 的结果,您可以将数据放入队列中,然后将 curl 发送给工作人员。
打开App,查看更多内容
随时随地看视频慕课网APP