import asyncio,time,requests import threading, time, requests url = "http://www.jd.com" total = 0 suc = 0 fail = 0 exception = 0 maxtime=0 mintime=100 gt3=0 lt3=0 class RequestThread(threading.Thread): def __init__(self, thread_name): threading.Thread.__init__(self) self.test_count = 0 def run(self): self.test_performace() def test_performace(self): global total global suc global fail global exception global gt3 global lt3 try: st = time.time() conn = requests.get(url) res = conn.status_code if res== 200: total+=1 suc+=1 else: total+=1 fail+=1 time_span = time.time()-st print (‘%s:%f\n‘%(self.name,time_span) ) self.maxtime(time_span) self.mintime(time_span) if time_span>3: gt3+=1 else: lt3+=1 except Exception as e: print (e ) total+=1 exception+=1 def maxtime(self,ts): global maxtime print (ts) if ts>maxtime: maxtime=ts def mintime(self,ts): global mintime if ts<mintime: mintime=ts @asyncio.coroutine async def hello(): thread_count = 1000 i = 0 while i <= thread_count: t = RequestThread("线程:" + str(i)) t.start() i += 1 start_time=time.time() loop=asyncio.get_event_loop() loop.run_until_complete(hello()) loop.close() print(‘异步处理时间:%s‘%(time.time()-start_time))
时间: 2024-11-10 11:55:36