PHP奇怪的事情发生卷曲
问题描述:
我有一个项目,需要从XML API获取数据,我使用php的cUrl从API获取数据。现在,数据下载如下PHP奇怪的事情发生卷曲
- 1请求获取数据,123KB的文件
- 1请求来获取数据的特定信息600个字节的文件
- 1..10请求来获取图像(最大170KB的文件)
的顺序,并从底部到顶部嵌套,得到的数据是一所学校,活动日历和图片库
所以你看,有12个卷曲要求顶
我已经调试了我的应用程序逻辑,并且数据在内存上执行操作的延迟时间为3秒。
通过curl_getinfo获得的时序如下
{
"url":"the url",
"content_type":"text\/xml; charset=iso-8859-1",
"http_code":200,
"header_size":222,
"request_size":600,
"filetime":-1,
"ssl_verify_result":0,
"redirect_count":0,
"total_time":0.942642,
"namelookup_time":8.4e-5,
"connect_time":0.179581,
"pretransfer_time":0.17966,
"size_upload":326,
"size_download":12720,
"speed_download":13493,
"speed_upload":345,
"download_content_length":-1,
"upload_content_length":326,
"starttransfer_time":0.576183,
"redirect_time":0,
"redirect_url":"",
"primary_ip":"81.93.213.42",
"certinfo":[
],
"primary_port":80,
"local_ip":"192.169.233.75",
"local_port":43479
}
此数据被编码为JSON,因为这将日志服务器上的推杆。
所以我的问题是为什么如果curl需要1秒来获得来自API的响应,并且我的逻辑在2到3秒之间执行,则响应具有1分钟的时间,下一个50秒在哪里?
有一点需要注意的是,我的网站在godaddy上运行,在https下运行VPS,而在api上运行在HTTP上,这有什么可做的吗?
在此先感谢
答
解决,服务器将推迟为卷曲请求数据的下载,所以我讲的托管服务提供商并取消下载的延迟。因此,curl请求被服务器延迟,而不是代码或curl句柄本身。感谢所有评论。
感谢布拉德,很好的编辑 – asolenzal
我必须问明显的:你使用curl_multi_ *? – spenibus
你说过12个单独的请求吗? getinfo返回的总时间与最后一次请求有关。所以12 *请求= XXX。将数据缓存在某处。 – David