多个requests接口的功能优化处理速度
一、原始代码功能如下,包含两个request接口的调用,耗时情况约4秒
import datetime
import time
import requests
start_time = datetime.datetime.now()
print("开始时间:",start_time)
url = "http://192.168.37.8:7777/api/mytest2"
data1 = requests.post(url).text
print(data1)
time.sleep(2)
url2 = "http://192.168.37.8:7777/api/mytest"
data2 = requests.get(url2).text
print(data2)
time.sleep(2)
end_time = datetime.datetime.now()
print("结束时间",end_time)
time_need = (end_time - start_time ).seconds
print("耗时豪秒数:",time_need)
耗时约:4秒
二、替换语句,使用session对象,加上session后再调用,优化效果不明显
import datetime
import time
import requests
start_time = datetime.datetime.now()
print("开始时间:",start_time)
session = requests.session()
url = "http://192.168.37.8:7777/api/mytest2"
data1 = session.post(url).text
print(data1)
time.sleep(2)
url2 = "http://192.168.37.8:7777/api/mytest"
data2 = session.get(url2).text
print(data2)
time.sleep(2)
end_time = datetime.datetime.now()
print("结束时间",end_time)
time_need = (end_time - start_time ).seconds
print("耗时豪秒数:",time_need)
耗时依然是:4秒
三、引入多线程机制,优化效果比较明显
1.定义线程方法
def thread_1():
def thread_2():
2.定义线程
thread1 = threading.Thread(target = thread_1)
thread2 = threading.Thread(target = thread_2)
3.启动线程
thread1.start()
thread2.start()
4.等待线程执行完毕
thread1.join()
thread2.join()
其中时间的语句如下:
start_time = datetime.datetime.now()
//
end_time = datetime.datetime.now()
time_need = (end_time - start_time ).seconds
具体的实现如下:
import datetime
import threading
import time
import requests
start_time = datetime.datetime.now()
print("开始时间:",start_time)
def thread_1():
url = "http://192.168.37.8:7777/api/mytest2"
data1 = requests.post(url).text
print(data1)
time.sleep(2)
def thread_2():
url2 = "http://192.168.37.8:7777/api/mytest"
data2 = requests.get(url2).text
print(data2)
time.sleep(2)
thread1 = threading.Thread(target = thread_1)
thread2 = threading.Thread(target = thread_2)
thread1.start()
thread2.start()
thread1.join()
thread2.join()
end_time = datetime.datetime.now()
print("结束时间",end_time)
time_need = (end_time - start_time ).seconds
print("耗时豪秒数:",time_need)
耗时确实下降至2秒
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了