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 30 Python
零基础写python爬虫之urllib2中的两个重要概念:Openers和Handlers
Nov 05 Python
Python素数检测实例分析
Jun 15 Python
深入解析Python编程中super关键字的用法
Jun 24 Python
Python 处理数据的实例详解
Aug 10 Python
python中hashlib模块用法示例
Oct 30 Python
Python爬虫包BeautifulSoup简介与安装(一)
Jun 17 Python
在Pycharm中自动添加时间日期作者等信息的方法
Jan 16 Python
python字符串分割及字符串的一些常规方法
Jul 24 Python
余弦相似性计算及python代码实现过程解析
Sep 18 Python
Pycharm内置终端及远程SSH工具的使用教程图文详解
Mar 19 Python
python opencv实现图片缺陷检测(讲解直方图以及相关系数对比法)
Apr 07 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
地摊中国 - 珍藏老照片
2020/08/18 杂记
如何从一个php文件向另一个地址post数据,不用表单和隐藏的变量的
2007/03/06 PHP
利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法
2011/12/19 PHP
php 如何获取数组第一个值
2013/08/06 PHP
ThinkPHP框架实现session跨域问题的解决方法
2014/07/01 PHP
Laravel5.1框架路由分组用法实例分析
2020/01/04 PHP
Jquery 点击按钮显示和隐藏层的代码
2011/07/25 Javascript
jQuery学习笔记 操作jQuery对象 文档处理
2012/09/19 Javascript
JavaScript计算字符串中每个字符出现次数的小例子
2013/07/02 Javascript
使用js实现一个可编辑的select下拉列表
2014/02/20 Javascript
jQuery简单实现日历的方法
2015/05/04 Javascript
以Python代码实例展示kNN算法的实际运用
2015/10/26 Javascript
JavaScript实战之菜单特效
2016/08/16 Javascript
分享一个精简的vue.js 图片lazyload插件实例
2017/03/13 Javascript
JavaScript中常见的八个陷阱总结
2017/06/28 Javascript
javascript cookie的基本操作(添加和删除)
2017/07/24 Javascript
vue cli升级webapck4总结
2018/04/04 Javascript
JS实现选项卡效果的代码实例
2019/05/20 Javascript
基于layPage插件实现两种分页方式浅析
2019/07/27 Javascript
学习LayUI时自研的表单参数校验框架案例分析
2019/07/29 Javascript
vue vant Area组件使用详解
2019/12/09 Javascript
Vue实现渲染数据后控制滚动条位置(推荐)
2019/12/09 Javascript
Python使用Tkinter实现机器人走迷宫
2018/01/22 Python
对Python中for复合语句的使用示例讲解
2018/11/01 Python
Python的垃圾回收机制详解
2019/08/28 Python
python实现字符串和数字拼接
2020/03/02 Python
PyQt5+python3+pycharm开发环境配置教程
2020/03/24 Python
windows下python 3.9 Numpy scipy和matlabplot的安装教程详解
2020/11/28 Python
sklearn中的交叉验证的实现(Cross-Validation)
2021/02/22 Python
美国伊甸园兄弟种子公司:Eden Brothers
2018/07/01 全球购物
饮料业务员岗位职责
2013/12/15 职场文书
syb养殖创业计划书
2014/01/09 职场文书
学校安全工作制度
2014/01/19 职场文书
工作粗心大意检讨书
2014/09/18 职场文书
委托书英文
2015/01/28 职场文书
我的暑假生活作文(五年级)范文
2019/08/07 职场文书