当前位置: 首页 > 后端技术 > Python

【代码片段】使用python多进程进行接口并发测试

时间:2023-03-26 17:45:22 Python

使用python多进程进行接口并发测试前言最近公司服务项目有测试并发的需求。测试的目的不是服务器能承受多少并发。相反,测试服务是否在并发请求下被阻塞。比如单个并发的执行时间是2秒,那么10个并发的总执行时间就是所有请求的执行时间之和或者最大请求时间。代码导入timeimportrequestsfrommultiprocessingimportProcessfrommultiprocessingimportPooldata={"times":10,#Concurrency"method":"POST","url":"http://xxx.com/xxx","header":{"Content-Type":"application/json","user-agent":"python-mock/0.0.1"},"body":{#parameters}}defrun_task(idx):response=requests.post(数据["url"],json=data["body"],headers=data["header"])ifresponse.status_code==200:result=response.content.decode('utf-8')else:result=“访问失败”print("%sexecution:%s\n"%(idx,result))if__name__=='__main__':p=Pool(data["times"])forindexinrange(data["times"]):p.apply_async(run_task,args=(index+1,))p.close()p.join()print("Endofexecution.")实现原理是利用多进程的python,要测试10个并发,使用for循环创建10个进程。p.join()正在阻塞并等待所有进程完成执行。