【发布时间】:2017-07-08 16:53:16
【问题描述】:
我正在尝试使用 NVP API 将我的应用程序连接到贝宝帐户。 一切正常,但我发现 paypal 的响应时间非常缓慢,几乎无法使用。
如果我使用“TransactionSearch”方法查询最后 100 笔交易,paypal 需要 15 到 20 秒才能给出响应。
响应值只有 25kB,所以我认为这不是数据量的问题。
也许我做错了什么?
这是我的代码:
Dim param As New Specialized.NameValueCollection
param.Add("STARTDATE", "2017-01-1 0:0:0")
Dim response As String = getNVP("TransactionSearch", param)
Private Function getNVP(ByVal method As String, Optional ByVal param As Specialized.NameValueCollection = Nothing) As String
If param Is Nothing Then param = New Specialized.NameValueCollection
Using client As New Net.WebClient
param.Add("METHOD", method)
param.Add("USER", APIuser)
param.Add("PWD", APIpass)
param.Add("SIGNATURE", APIsign)
param.Add("VERSION", "204")
Dim rbytes = client.UploadValues("https://api-3t.paypal.com/nvp", "POST", param)
Return Uri.UnescapeDataString((New System.Text.UTF8Encoding).GetString(rbytes))
End Using
End Function
【问题讨论】:
-
在您的请求中,我没有看到
TransactionSearch方法的EndDate时间范围,尽管它是可选。您能否看看这是否有帮助,因为我在您提供的代码中没有发现任何问题。 -
现已测试添加结束日期,但不能解决我的问题。似乎响应时间与生成的事务计数成正比。如果我缩小日期范围(以获得更少的结果),响应延迟会减少,但效率会比以前更低(由于 http 开销)。对于 10 笔交易,我测量了 2.5 秒的延迟。有人可以确认 PayPal 的 API 这么慢吗?如果是这样我就放弃了。
-
是的,PayPal API 的读取速度非常慢。写入运行得非常快,但不是读取。我发誓他们喂仓鼠来运行那家公司的服务器。当您只需在他们的报告中加载网页时,您也可以看到这一点。如果我有理由打赌,我会说他们的数据库是高度标准化的,这使得写入速度快,读取速度慢。
-
我也遇到过这种情况,并且发现将事务限制为一次只有几个是“加快速度”的唯一方法。将查询拆分为分页响应是否可行?即第 1 页是记录 1 - 5,第 2 页是 6 - 10,等等
-
您从哪个国家/地区触发请求?