akm*_*991 5 python performance python-requests
我是一名新的 Python 程序员,负责做一个简单的应用程序来进行 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
Run Code Online (Sandbox Code Playgroud)
添加@Liping Huang 的评论作为答案,这样它就更明显了,因为大多数人不阅读评论。
将 URL 从 更改为localhost可以将127.0.0.1开销减少近 2 秒,几乎为零。
这意味着 OP 的 DNS 查找速度很慢,这与requests.post