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数据清洗系列之字符串处理详解
Feb 12 Python
python 性能优化方法小结
Mar 31 Python
python实现在IDLE中输入多行的方法
Apr 19 Python
Python批量发送post请求的实现代码
May 05 Python
python操作excel的方法
Aug 16 Python
Python使用统计函数绘制简单图形实例代码
May 15 Python
python脚本开机自启的实现方法
Jun 28 Python
Pytorch卷积层手动初始化权值的实例
Aug 17 Python
在Python中获取操作系统的进程信息
Aug 27 Python
python3.7将代码打包成exe程序并添加图标的方法
Oct 11 Python
详解基于Jupyter notebooks采用sklearn库实现多元回归方程编程
Mar 25 Python
手把手教你将Flask应用封装成Docker服务的实现
Aug 19 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
PHP 程序员也要学会使用“异常”
2009/06/16 PHP
PHP中通过加号合并数组的一个简单方法分享
2011/01/27 PHP
PHP实现分布式memcache设置web集群session同步的方法
2018/04/10 PHP
JavaScript 直接操作本地文件的实现代码
2009/12/01 Javascript
js 操作select相关方法函数
2009/12/06 Javascript
多选列表框动态添加,移动,删除,全选等操作的简单实例
2014/01/13 Javascript
利用js正则表达式验证手机号,email地址,邮政编码
2014/01/23 Javascript
js插件设置innerHTML时在IE8下提示“未知运行时错误”解决方法
2015/04/25 Javascript
使用AngularJS对路由进行安全性处理的方法
2015/06/18 Javascript
纯CSS3代码实现滑动开关效果
2015/08/19 Javascript
基于insertBefore制作简单的循环插空效果
2015/09/21 Javascript
BootStrap智能表单实战系列(六)表单编辑页面的数据绑定
2016/06/13 Javascript
轻松掌握JavaScript单例模式
2016/08/25 Javascript
jQuery实现的简单排序功能示例【冒泡排序】
2017/01/13 Javascript
JS中setTimeout和setInterval的最大延时值详解
2017/02/13 Javascript
node+express+ejs使用模版引擎做的一个示例demo
2017/09/18 Javascript
用vue2.0实现点击选中active其他选项互斥的效果
2018/04/12 Javascript
解决vue props 拿不到值的问题
2018/09/11 Javascript
JS实现的贪吃蛇游戏案例详解
2019/05/01 Javascript
vue 路由子组件created和mounted不起作用的解决方法
2019/11/05 Javascript
[54:45]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 Optic vs OG
2018/04/02 DOTA
[42:25]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第三场
2018/04/06 DOTA
用实例说明python的*args和**kwargs用法
2013/11/01 Python
Python使用scrapy采集数据时为每个请求随机分配user-agent的方法
2015/04/08 Python
Python 出现错误TypeError: ‘NoneType’ object is not iterable解决办法
2017/01/12 Python
pygame游戏之旅 创建游戏窗口界面
2018/11/20 Python
深入浅析python3中的unicode和bytes问题
2019/07/03 Python
Anaconda的安装及其环境变量的配置详解
2020/04/22 Python
美国孩之宝玩具官网:Hasbro Pulse
2019/06/24 全球购物
竟聘演讲稿范文
2013/12/31 职场文书
校园报刊亭的创业计划书
2014/01/02 职场文书
大学四年个人的自我评价
2014/02/26 职场文书
音乐学专业求职信
2014/07/22 职场文书
新员工考核评语
2014/12/31 职场文书
催款函范文
2015/06/24 职场文书
小学班主任工作随笔
2015/08/15 职场文书