PHP:如何在集成发货API后最大限度地缩短响应时间?

时间:2014-02-20 09:15:59

标签: php

我已经用简单的PHP将五个运输API(如UPS,FEDEX,PUROLATOR,TNT,CANADA POST)整合到我的网站中。我发送HTTP请求,并请求以xml格式返回以获得运费。 我已经为每个API创建了类,并创建了动态设置login和dimension参数的函数......如下所示

<?php
if($sub){
$canadaPostRate->setCredentials($CPC_number,$length,$width,$height,$weight,$from,$to);
$fedexRate->setCredentials($user,$key,$account_number,$shipping_number,$weight,$height,$width,$length,$from,$to);
// similary for all other API
}
?>

我已经正确地从这些API得到了响应,但问题是它需要太长时间才能显示输出至少需要1.5分钟。 有没有解决方案来缩短响应时间?

2 个答案:

答案 0 :(得分:4)

有一件事是我想到的(如果是为了演示):不要在一个请求中进行5次外部API调用。使用AJAX请求单独获取运费。现在,你在等待加拿大邮政在回复联邦快递之前作出回应。如果您使用5个不同的请求,那么在开始另一个请求之前,您不会等待一个请求完成。

但如果没有更多信息,真的无法说出来。您是否对代码进行了任何跟踪以查看延迟的位置?它真的只是HTTP请求吗?它是你解析数据的方式吗?这是一个缓慢的数据库连接吗?在api调用的各个点开始记录,以毫秒为单位,例如在HTTP请求之前,之后,在返回数据之前等等。

答案 1 :(得分:2)

您还可以使用其他送货API同时处理这些来电。像EasyPost或Postmaster这样的东西?