php curl 返回响应时间,PHP Curl API响应时间与不同服务器不同

我有一个设置,我有两台运行瘦客户机(Apache,PHP)的服务器。在服务器A上,它考虑客户端计算机并连接到服务器B以通过Restful API获取数据。两台服务器都在同一个网络上。服务器B,请求的响应如下所示:PHP Curl API响应时间与不同服务器不同

{

"code": 200,

"response_time": {

"time": 0.43,

"measure": "seconds"

}

}

服务器B通过使用microseconds到标志的请求块的开始和结束计算完成每个任务的时间。但是当我使用curl服务器A拨打电话到服务器B,我变得非常奇怪的结果在执行时间:

$url = "https://example.com/api";

/*server B address. I've tried IP address as well without any change in results.

This must go over a SSL connection. */

$start_time = microtime(true);

$curl2 = curl_init();

curl_setopt($curl2, CURLOPT_URL, $url);

curl_setopt($curl2, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($curl2, CURLOPT_SSL_VERIFYPEER, FALSE);

curl_setopt($curl2, CURLOPT_USERAGENT, "Server A User Agent");

$result = curl_exec($curl2);

$HttpCode = curl_getinfo($curl2, CURLINFO_HTTP_CODE);

$total_time = curl_getinfo($curl2, CURLINFO_TOTAL_TIME);

$connect_time = curl_getinfo($curl2, CURLINFO_CONNECT_TIME);

$namelookup_time = curl_getinfo($curl2, CURLINFO_NAMELOOKUP_TIME);

$end_time = microtime(true);

$timeDiff = round(((float)$end_time - (float)$start_time), 3);

我得到的每个时间检查以下内容:

$timeDiff = 18.7381 (Using Microseconds)

$total_time = 18.7381 (Transfer Time)

$connect_time = 0.020679

$namelookup_time = 0.004144

所以我不确定为什么会发生这种情况。有没有更好的方法来从网络中的另一台服务器获取数据并保存您的API?这就好像Twitter的网站正在从另一个不是API服务器的服务器上使用它们的API。我认为API的curl的时间与API报告的时间非常相似。据我所知,API不考虑网络流量和速度来打开连接 - 但18秒与0.43对我而言似乎很陌生。

这里的任何想法?

+0

哪些数据是API发回?此数据有多大 –

+0

数据正在以JSON形式发回。它可能相当大 - 不确定大小,但对于一个示例文件,内容长度为“内容长度:136917”。 –

+0

服务器将事情发回给服务器的下载速度是多少。过去我已经看到了一些128kps的设置,所以你应该研究一下! –

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值