python

超轻量级php框架startmvc

Python实现的多线程http压力测试代码

更新时间:2020-04-26 22:00:01 作者:startmvc
本文实例讲述了Python实现的多线程http压力测试代码。分享给大家供大家参考,具体如下:#P

本文实例讲述了Python实现的多线程http压力测试代码。分享给大家供大家参考,具体如下:


# Python version 3.3
__author__ = 'Toil'
import sys, getopt
import threading
def httpGet(url, file):
 import http.client
 conn = http.client.HTTPConnection(url)
 conn.request("GET", file)
 r = conn.getresponse()
 #print(r.getheaders())
 while not r.closed:
 r.read(200)
 conn.close()
def Usage():
 print('''
 Options are:
 -c concurrency Number of multiple requests to make
 -u host The host
 -f file File on web
 Example: httpget.py -c 100 -u www.example.com -f /
 ''')
if __name__ == '__main__':
 opts, args = getopt.getopt(sys.argv[1:], "hc:u:f:")
 global u, c, f
 for op, value in opts:
 if op == '-c':
 c = int(value)
 elif op == '-u':
 u = value
 elif op == '-f':
 f = value
 elif op == '-h':
 Usage()
 sys.exit(0)
 else:
 sys.exit(0)
 threads = []
 times = c
 print('Test for ', u, f)
 print('waiting...')
 for i in range(0, times):
 t = threading.Thread(target=httpGet(u, f))
 threads.append(t)
 for i in range(0, times):
 threads[i].start()
 for i in range(0, times):
 threads[i].join()

Python 多线程 http 压力测试