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数据类型转换函数总结
Mar 11 Python
Python实现的批量下载RFC文档
Mar 10 Python
python检测远程服务器tcp端口的方法
Mar 14 Python
python 获取当天每个准点时间戳的实例
May 22 Python
python+splinter自动刷新抢票功能
Sep 25 Python
Python去除字符串前后空格的几种方法
Mar 04 Python
通过pycharm使用git的步骤(图文详解)
Jun 13 Python
Python argparse模块应用实例解析
Nov 15 Python
python3的UnicodeDecodeError解决方法
Dec 20 Python
Python基于read(size)方法读取超大文件
Mar 12 Python
PyPDF2读取PDF文件内容保存到本地TXT实例
May 12 Python
Python3实现英文字母转换哥特式字体实例代码
Sep 01 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源代码
2006/10/09 PHP
队列在编程中的实际应用(php)
2010/09/04 PHP
PHP设计模式之责任链模式的深入解析
2013/06/13 PHP
codeigniter集成ucenter1.6双向通信的解决办法
2014/06/12 PHP
php使用PDO执行SQL语句的方法分析
2017/02/16 PHP
js静态方法与实例方法分析
2011/07/04 Javascript
node.js中的fs.link方法使用说明
2014/12/15 Javascript
JS实现简单的键盘打字的效果
2015/04/24 Javascript
详解JavaScript中Hash Map映射结构的实现
2016/05/21 Javascript
Node.js实现文件上传
2016/07/05 Javascript
简单分析javascript中的函数
2016/09/10 Javascript
浅谈jquery高级方法描述与应用
2016/10/04 Javascript
基本DOM节点操作
2017/01/17 Javascript
jQuery插件之validation插件
2017/03/29 jQuery
AngularJS自定义过滤器用法经典实例总结
2018/05/17 Javascript
bootstrap模态框弹出和隐藏,动态改变中间内容的实例
2018/08/10 Javascript
Vue源码解读之Component组件注册的实现
2018/08/24 Javascript
VUE+Element UI实现简单的表格行内编辑效果的示例的代码
2018/10/31 Javascript
使用jQuery如何写一个含验证码的登录界面
2019/05/13 jQuery
vue excel上传预览和table内容下载到excel文件中
2019/12/10 Javascript
vue项目配置使用flow类型检查的步骤
2020/03/18 Javascript
[01:04:49]KG vs LGD 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
python多重继承新算法C3介绍
2014/09/28 Python
Python3处理文件中每个词的方法
2015/05/22 Python
实例讲解Python的函数闭包使用中应注意的问题
2016/06/20 Python
python实现各进制转换的总结大全
2017/06/18 Python
pytorch 更改预训练模型网络结构的方法
2019/08/19 Python
纯HTML+CSS3制作导航菜单(附源码)
2013/04/24 HTML / CSS
Needle & Thread官网:英国仙女品牌
2018/01/13 全球购物
日本索尼音乐商店:Sony Music Shop
2018/07/17 全球购物
二年级小学生评语
2014/04/21 职场文书
企业人事任命书
2014/06/05 职场文书
授权委托书协议书
2014/10/16 职场文书
详解Apache SkyWalking 告警配置指南
2021/04/22 Servers
Python常用配置文件ini、json、yaml读写总结
2021/07/09 Python
Qt自定义Plot实现曲线绘制的详细过程
2021/11/02 Python