我正在尝试扩大/加快我的应用程序
因此,我正在开发一个保存数据的登录页面,并在保存数据后重定向。为了保存数据,我在服务器上使用了另一个服务,该服务从CURL获取发布数据并将其发布到Bigquery。
问题在于CURL的执行时间约为700毫秒,当我删除CURL代码时,我正在95-110 MS中执行代码
这是我的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);
我希望通过改进卷曲代码或使用其他解决方案将卷曲时间从700ms降低到50-180ms。
答案 0 :(得分:0)
1)尝试删除FRESH_CONNECT,它每次都会创建一个新的TCP,如果您追求的是速度,则不希望这样做。
首次执行CURL时,将建立TCP连接。发送数据后,连接保持活动状态,因此可以重复使用,默认时间为60秒。
因此,它将在60秒内的第一个通话之后帮助您提高每次通话的速度。
2)由于您没有使用curl的结果,因此可以将数据放入队列中,并与worker发送curl。
答案 1 :(得分:0)
因此,我找到了一种构建毫秒级卷曲的解决方案,该响应可以在几毫秒内而不是几秒钟内
我替换了
curl_setopt($ch, CURLOPT_TIMEOUT, 1);
使用
curl_setopt($ch, CURLOPT_TIMEOUT_MS, 50);
这样,我可以将发卷的最短时间限制为50MS