>백엔드 개발 >파이썬 튜토리얼 >Python에서 플라스크 배포 후 동시성 테스트를 위한 샘플 코드

Python에서 플라스크 배포 후 동시성 테스트를 위한 샘플 코드

黄舟
黄舟원래의
2017-07-24 14:08:062858검색

部署后看下flask支持的并发,来个300并发看看,上代码

import threading, time, requests
url = ""total = 0
suc = 0
fail = 0
exception = 0
maxtime=0
mintime=100gt3=0
lt3=0class RequestThread(threading.Thread):def __init__(self, thread_name):  
        threading.Thread.__init__(self)  
        self.test_count = 0def run(self):
        self.test_performace()def test_performace(self):  global totalglobal sucglobal failglobal exceptionglobal gt3global lt3try:  
                st = time.time()  
                conn = requests.get(url)
                res = conn.status_codeif res== 200:
                    total+=1suc+=1else:
                    total+=1fail+=1time_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+=1else:
                    lt3+=1except Exception as e:  print (e  )
                total+=1exception+=1def maxtime(self,ts):  global maxtimeprint (ts)if ts>maxtime:
                maxtime=tsdef mintime(self,ts):  global mintimeif ts<mintime:
                mintime=tsprint (&#39;===========请求开始===========&#39;  )
start_time = time.time()
thread_count = 100i = 0  
while i <= thread_count:  
    t = RequestThread("线程:" + str(i))
    t.start()  
    i += 1  t=0while total<thread_count|t>20:print ("总数:%d,成功数:%d,失败:%d,异常:%d\n"%(total,suc,fail,exception)  )print (url)
        t+=1time.sleep(1)print (&#39;===========task end===========&#39;)print ("总数:%d,成功:%d,失败:%d,异常:%d"%(total,suc,fail,exception))print (&#39;响应最大时间:&#39;,maxtime)print (&#39;响应最小时间&#39;,mintime)print (&#39;大于3秒的响应:%d,占比:%0.2f&#39;%(gt3,float(gt3)/total))print (&#39;小于3秒:%d,占比:%0.2f&#39;%(lt3,float(lt3)/total))

看下百度请求响应

那么我的呢

还算可以吧 支持的并发,不过不太准,可以参考。接口也可以用这个搞

 

위 내용은 Python에서 플라스크 배포 후 동시성 테스트를 위한 샘플 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.