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程序代码的几种方法总结
Apr 28 Python
python处理大数字的方法
May 27 Python
Python的Django框架中从url中捕捉文本的方法
Jul 20 Python
python实现网站的模拟登录
Jan 04 Python
Anaconda入门使用总结
Apr 05 Python
python 统计列表中不同元素的数量方法
Jun 29 Python
Python实现的爬取百度文库功能示例
Feb 16 Python
Python面向对象程序设计之类的定义与继承简单示例
Mar 18 Python
python利用JMeter测试Tornado的多线程
Jan 12 Python
Python类中的装饰器在当前类中的声明与调用详解
Apr 15 Python
django的autoreload机制实现
Jun 03 Python
OpenCV-Python使用cv2实现傅里叶变换
Jun 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
thinkphp实现数组分页示例
2014/04/13 PHP
微信支付PHP SDK ―― 公众号支付代码详解
2016/09/13 PHP
PHP排序算法之基数排序(Radix Sort)实例详解
2018/04/21 PHP
PHP实现的AES 128位加密算法示例
2019/09/16 PHP
javascript encodeURI和encodeURIComponent的比较
2010/04/03 Javascript
Javascript 面向对象编程(coolshell)
2012/03/18 Javascript
在JavaScript中处理时间之getHours()方法的使用
2015/06/10 Javascript
jQuery实现简单下拉导航效果
2015/09/07 Javascript
再谈JavaScript异步编程
2016/01/27 Javascript
js倒计时小实例(多次定时)
2016/12/08 Javascript
微信端开发--登录小程序步骤
2017/01/11 Javascript
轻松理解Javascript变量的相关问题
2017/01/20 Javascript
bootstrap jquery dataTable 异步ajax刷新表格数据的实现方法
2017/02/10 Javascript
使用 Vue.js 仿百度搜索框的实例代码
2017/05/09 Javascript
详解使用vue脚手架工具搭建vue-webpack项目
2017/05/10 Javascript
微信小程序中使用Promise进行异步流程处理的实例详解
2017/08/17 Javascript
Javascript 严格模式use strict详解
2017/09/16 Javascript
vue2.0学习之axios的封装与vuex介绍
2018/05/28 Javascript
JS监听滚动和id自动定位滚动
2018/12/18 Javascript
详解vuex之store源码简单解析
2019/06/13 Javascript
[01:13]DOTA2群星解读国服召集令 一起说出回归的理由
2013/07/17 DOTA
[02:10]2018DOTA2亚洲邀请赛赛前采访-Liquid
2018/04/03 DOTA
python实现跨文件全局变量的方法
2014/07/07 Python
python爬虫快速响应服务器的做法
2020/11/24 Python
浅析HTML5 Landmark
2020/09/11 HTML / CSS
幼儿园教师培训方案
2014/02/04 职场文书
机关保密承诺书
2014/06/03 职场文书
2014五年级班主任工作总结
2014/12/05 职场文书
教师学期末个人总结
2015/02/13 职场文书
2015公务员年度考核评语
2015/03/25 职场文书
会计专业2019暑假实习报告
2019/06/21 职场文书
2019年消防宣传标语集锦
2019/11/21 职场文书
Django模型层实现多表关系创建和多表操作
2021/07/21 Python
python unittest单元测试的步骤分析
2021/08/02 Python
MongoDB使用场景总结
2022/02/24 MongoDB
Python批量解压&压缩文件夹的示例代码
2022/04/04 Python