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))
转载于:https://www.cnblogs.com/leiziv5/p/7244429.html