是Python请求。这个很慢或者我做错了什么?

时间:2017-03-29 14:21:25

标签: python performance python-requests

我是一名新的python程序员,他的任务是做一个简单的app来进行API调用。它工作正常,但我对速度不满意。我已经尝试过慢速互联网连接和更快的互联网连接。平均而言,API调用所需的时间范围为1.3到2.4秒。我已经在5mbps到80mbps的互联网连接上进行了测试,两者都显示了类似的结果(加上减0.5秒的差异)
所用的时间在纸面上看起来并不太糟糕但是,当我在服务器中检查进行调用时,处理时间仅为0.2 - 0.5秒,这意味着在请求期间丢失了1-2秒的时间流程。
  
这是我正在使用的代码:

import requests
import json
import time
import uuid
import requests.packages.urllib3

requests.packages.urllib3.disable_warnings() 

#get api call start time
startTime = time.time()

#make api call
r=requests.post(APIUrl, data=payload, headers=headers, verify=False)

#get api call finish time
endTime = time.time()

#calculate time taken
totalTimeTaken = str(float(round((endTime - startTime ),3)))

json_obj = r.json(strict=False)
print "Response: "+str(json_obj['response'])
print "Elapsed: "+str(r.elapsed)
print "Time Taken: "+totalTimeTaken

1 个答案:

答案 0 :(得分:1)

添加@Liping Huang's条评论作为答案,因此,由于大多数人不阅读评论,因此该条更为明显。

将网址从localhost更改为127.0.0.1可以将开销减少近2秒,几乎没有。


这意味着OP的DNS查找速度很慢,与requests.post无关