Skip to main content

命令行下的HTTP压测工具

Project description

一款基于命令行的网站压测小工具Webenchmark

  • 支持HTTP GET, POST, PUT, DELETE, HEAD操作
  • 支持长连接
  • 支持多个URL混合测试
  • 支持超时时间设置
  • 支持身份认证, Basic Auth和Digest Auth

用法说明:

安装:

pip install webenchmark

命令行选项:

NikanMacBookPro:~ nikan$ webenchmark
usage: webenchmark [-h] [-c CONCURRENCY] [-n TOTAL_REQUESTS] [-m METHOD]
                   [-f FILE_PATH] [-d DATA] [-j JSON] [-t TIMEOUT] [-k]
                   [-a AUTH] [-H HEADERS] [-C COOKIES] [--version]
                   urls [urls ...]

HTTP压测小工具🎂 Author: Ni Kan(859905874@qq.com)

positional arguments:
  urls                  请求URL(一个或多个)

optional arguments:
  -h, --help            show this help message and exit
  -c CONCURRENCY, --concurrency CONCURRENCY
                        并发数
  -n TOTAL_REQUESTS, --number TOTAL_REQUESTS
                        请求数
  -m METHOD, --method METHOD
                        请求方式{GET,POST,DELETE,PUT,HEAD,OPTIONS}
  -f FILE_PATH, --file FILE_PATH
                        文件路径
  -d DATA, --data DATA  post/put 数据
  -j JSON, --json JSON  post/put json 数据
  -t TIMEOUT, --timeout TIMEOUT
                        超时时间
  -k, --keep-alive      是否启用长连接
  -a AUTH, --auth AUTH  身份认证 eg. basic:user:password
  -H HEADERS, --headers HEADERS
                        请求头
  -C COOKIES, --cookies COOKIES
                        请求cookies
  --version             当前版本

例子:

# 对单个请求进行get测试
webenchmark -c 10 -n 30 https://www.baidu.com
# 允许keep-alive
webenchmark -k -c 10 -n 30 https://www.baidu.com
# 设置超时时间(整数)
webenchmark -t 1 -c 10 -n 30 https://www.baidu.com
# 对多个URL进行混合请求
webenchmark -c 10 -n 30 https://www.baidu.com http://example.com/ https://www.taobao.com/
# basic auth
webenchmark -a basic:test_user:test_password http://example.com/
# digest auth
webenchmark -a digest:test_user:test_passtest_password http://example.com/

# post json
webenchmark -m POST -j "{'test':'test_json'}" -c 10 -n 100 http://example.com/ 

# post data
webenchmark -m POST -j "{'test':'test_json'}" -c 10 -n 100 http://example.com/ 

# Headers和Cookies
webenchmark -H "{'user-agent':'hahah'}" -C "{'a':'1'}" http://example.com/

# 有非常多的url可以放于文件中,每行一个url
webenchmark -f benchamark.txt

输出示例:

NikanMacBookPro:~ nikan$ webenchmark -c 10 -n 30 https://www.baidu.com
正在进行压测.....
压测结果========================
并发数:                10
请求数:                30
失败数:                0
非200请求数:           0
平均请求时长(秒):    0.100
============================
请求时间分布(秒)
0%(最快)0.078
10%  0.080
50%  0.094
90%  0.118
95%  0.121
100%(最慢)0.183

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

webenchmark-1.0.10.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

webenchmark-1.0.10-py2.py3-none-any.whl (6.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file webenchmark-1.0.10.tar.gz.

File metadata

  • Download URL: webenchmark-1.0.10.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.5

File hashes

Hashes for webenchmark-1.0.10.tar.gz
Algorithm Hash digest
SHA256 1cfd6e81a6925e550d06c677149b6a80a27c1628c856bc253262936131a37ea7
MD5 e2ab100a9e3dba402cdc348dc127d8fa
BLAKE2b-256 05bfe9b49ac7185bc0060a8facfff5162e48ac7e20efb70a738a9b3a89c66c03

See more details on using hashes here.

File details

Details for the file webenchmark-1.0.10-py2.py3-none-any.whl.

File metadata

  • Download URL: webenchmark-1.0.10-py2.py3-none-any.whl
  • Upload date:
  • Size: 6.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.5

File hashes

Hashes for webenchmark-1.0.10-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 b5b3b956793c0d18da741d4e86a22b568a8e6b025a38c4260c1ec75e3783ea4b
MD5 c583cc1f020e004082d0eae8f7ed70fb
BLAKE2b-256 57048f95d06e117e9ebb341043efa910ea391744e2269289b7a1154283689b6e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page