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


Posted in Python onFebruary 08, 2017

本文实例讲述了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程序设计有所帮助。

Python 相关文章推荐
python中from module import * 的一个坑
Jul 20 Python
Python字符串逐字符或逐词反转方法
May 21 Python
Python中pygame的mouse鼠标事件用法实例
Nov 11 Python
Python3控制路由器——使用requests重启极路由.py
May 11 Python
Python+selenium 获取浏览器窗口坐标、句柄的方法
Oct 14 Python
基于python指定包的安装路径方法
Oct 27 Python
Python 多维List创建的问题小结
Jan 18 Python
详解Python locals()的陷阱
Mar 26 Python
Python input函数使用实例解析
Nov 22 Python
python读写Excel表格的实例代码(简单实用)
Dec 19 Python
Python smtp邮件发送模块用法教程
Jun 15 Python
OpenCV4.1.0+VS2017环境配置的方法步骤
Jul 09 Python
Python实现定时任务
Feb 08 #Python
python使用matplotlib绘制柱状图教程
Feb 08 #Python
Python实现简单的多任务mysql转xml的方法
Feb 08 #Python
python使用matplotlib绘制折线图教程
Feb 08 #Python
关于Python中Inf与Nan的判断问题详解
Feb 08 #Python
python3.5实现socket通讯示例(TCP)
Feb 07 #Python
Python中字典的setdefault()方法教程
Feb 07 #Python
You might like
为什么夜间收到的中波电台比白天多
2021/03/01 无线电
如何限制访问者的ip(PHPBB的代码)
2006/10/09 PHP
关于mysql 字段的那个点为是定界符
2007/01/15 PHP
利用phpexcel把excel导入数据库和数据库导出excel实现
2014/01/09 PHP
php实现的SESSION类
2014/12/02 PHP
PHP实现判断数组是一维、二维或几维的方法
2017/02/06 PHP
Thinkphp3.2简单解决多文件上传只上传一张的问题
2017/09/26 PHP
Laravel 模型使用软删除-左连接查询-表起别名示例
2019/10/24 PHP
jquery利用event.which方法获取键盘输入值的代码
2011/10/09 Javascript
仿猪八戒网左下角的文字滚动效果
2011/10/28 Javascript
JS中获取函数调用链所有参数的方法
2015/05/07 Javascript
js点击按钮实现带遮罩层的弹出视频效果
2015/12/19 Javascript
jQuery实现的tab标签切换效果示例
2016/09/05 Javascript
jQuery动态生成Bootstrap表格
2016/11/01 Javascript
基于JavaScript实现活动倒计时效果
2017/04/20 Javascript
详解如何让InstantClick兼容MathJax、百度统计等
2017/09/12 Javascript
JavaScript分步实现一个出生日期的正则表达式
2018/03/22 Javascript
Nodejs监听日志文件的变化的过程解析
2019/08/04 NodeJs
JS自定义对象创建与简单使用方法示例
2020/01/15 Javascript
Javascript实现关闭广告效果
2021/01/29 Javascript
python使用xlrd模块读写Excel文件的方法
2015/05/06 Python
Python基本语法经典教程
2016/03/11 Python
Python实现mysql数据库更新表数据接口的功能
2017/11/19 Python
python定向爬取淘宝商品价格
2018/02/27 Python
浅谈python配置与使用OpenCV踩的一些坑
2018/04/02 Python
在Pandas中DataFrame数据合并,连接(concat,merge,join)的实例
2019/01/29 Python
python简单验证码识别的实现方法
2019/05/10 Python
python使用pip安装模块出现ReadTimeoutError: HTTPSConnectionPool的解决方法
2019/10/04 Python
python入门:argparse浅析 nargs='+'作用
2020/07/12 Python
Python pip 常用命令汇总
2020/10/19 Python
Tory Burch美国官方网站:美国时尚生活品牌
2016/08/01 全球购物
一份Java笔试题
2012/02/21 面试题
会计专业自荐信范文
2013/12/02 职场文书
教师党员批评与自我批评发言稿
2014/10/15 职场文书
雨花台导游词
2015/02/06 职场文书
小学校园广播稿
2015/08/18 职场文书