1. 程式人生 > >Python3 多執行緒併發 post 壓力測試 併發程式設計

Python3 多執行緒併發 post 壓力測試 併發程式設計

Python3 多執行緒併發,簡單的伺服器壓力測試程式碼:
#coding = utf-8

from urllib import request,parse
from urllib.error import URLError
import threading

class postRequest():
    def __init__(self,url,values,interface_name):
        self.url = url
        self.values = values
        self.interface_name = interface_name
        
    def post(self):
        parms=self.values
        querystring = parse.urlencode(parms)
        try:
            u = request.urlopen(self.url,querystring.encode('ascii'))
            resp = u.read()
            print(u"介面名字為:",self.interface_name)
            print (u"所傳遞的引數為:\n",parms)
            print (u"伺服器返回值為:\n",resp)
        except URLError as e:
            print (e)

def Login():                        #定義介面函式
    #例項化介面物件
    login  = postRequest('http://10.128.6.167/working/login',{"MSG":00001,"name":u"張三","password":"123456"},"1.login")
    return login.post()

try:
    i = 0
    tasks = []                                      #任務列表
    task_number = 300
    while i < task_number:
        t = threading.Thread(target=Login)  
        tasks.append(t)                             #加入執行緒池,按需使用
        t.start()				    #多執行緒併發
except Exception as e:
    print (e)
這裡只是一個介面的案例的大概框架,僅供參考。 個人測試環境為Python3.4。