45fan.com - 路饭网

搜索: 您的位置主页 > 网络频道 > 阅读资讯:Python实现的多线程http压力测试代码分析

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

2017-08-12 17:33:04 来源:www.45fan.com 【

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

本文实例讲述了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://www.45fan.com/a/question/91046.html
Tags: 实现 线程 python
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部