前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >各种压力测试工具

各种压力测试工具

作者头像
Qicloud
发布2022-01-21 09:56:43
1.4K0
发布2022-01-21 09:56:43
举报
文章被收录于专栏:七云博客七云博客

一、webbench压力测试工具编译安装 注意:最多只能3万个并发连接,对机器性能有一定要求(内存一定要大,要不然就只能减少数据包大小来使用)

代码语言:javascript
复制
 wget --no-check-certificate https://down.cangshui.net/-mytargz/webbench-1.5.tar.gz
    tar zxvf webbench-1.5.tar.gz
    cd webbench-1.5
    make
    make install

使用方法:

代码语言:javascript
复制
 webbench -c 65535 -t 60 IP或者网址

示例:webbench -c 65535 -t 60 http://baidu.com (已65535大小的包对百度测试60秒)

测试静态图片

代码语言:javascript
复制
webbench -c 65535 -t 60 http://www.baidu.com/img/bd_logo1.png

Freebsd 上安装 webbench 在FreeBSD下的用Ports安装方法:

代码语言:javascript
复制
cd  /usr/ports/benchmarks/webbench
    make install clean

记得安装成功以后运行一下rehash命令,刷新一下系统命令

代码语言:javascript
复制
 rehash

webbench测试结果

代码语言:javascript
复制
Webbench – Simple Web Benchmark 1.5
    Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
    Benchmarking: GET http://www.baidu.com
    500 clients, running 30 sec.
    Speed=3230 pages/min, 11614212 bytes/sec.
    Requests: 1615 susceed, 0 failed.

分析:每秒钟响应请求数:3230 pages/min,每秒钟传输数据量11614212 bytes/sec.

Ubuntu 下安装使用 1、安装依赖包CTAGS

代码语言:javascript
复制
apt-get install ctags

2、安装 Webbench

下载

代码语言:javascript
复制
 wget --no-check-certificate https://down.cangshui.net/-mytargz/webbench-1.5.tar.gz
    make
    sudo make install

二、siege压力测试工具编译安装 给我的感觉像是一个单纯的模拟访问的软件,对客户机的压力不是很大,主要是用来分析访问数据用的

可以记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。

代码语言:javascript
复制
 wget --no-check-certificate https://down.cangshui.net/-mytargz/siege-latest.tar.gz
    tar -zxvf siege-latest.tar.gz 
    cd siege-4.0.4
    ./configure;
    make && make install

Ubuntu/debian安装:

代码语言:javascript
复制
sudo apt-get update && sudo apt-get upgrade  --show-upgraded(更新系统可更新可不更新)
    sudo apt-get install siege-*/

很方便,但是版本稍旧 使用示例/方法:

模拟100个用户,web请求间隔时间10秒,运行60s

代码语言:javascript
复制
 siege -d 10 -c 100 -t 60 http://192.10.10.10

也可以创建一个测试名单xx.txt

代码语言:javascript
复制
siege -d 10 -c 100 -i -f xx.txt

参数详解

代码语言:javascript
复制
    -C,或-config 在屏幕上打印显示出当前的配置,配置是包括在他的配置文件$HOME/.siegerc中,可以编辑里面的参数,这样每次siege 都会按照它运行.
    -v 运行时能看到详细的运行信息
    -c n,或-concurrent=n 模拟有n个用户在同时访问,n不要设得太大,因为越大,siege 消耗本地机器的资源越多
    -i,-internet 随机访问urls.txt中的url列表项,以此模拟真实的访问情况(随机性),当urls.txt存在是有效 
    -d n,-delay=n hit每个url之间的延迟,在0-n之间
    -r n,-reps=n 重复运行测试n次,不能与 -t同时存在
    -t n,-time=n 持续运行siege ‘n’秒(如10S),分钟(10M),小时(10H)
    -l 运行结束,将统计数据保存到日志文件中siege.log,一般位于/usr/local/var/siege.log中,也可在.siegerc中自定义
    -R SIEGERC,-rc=SIEGERC 指定用特定的siege配置文件来运行,默认的为$HOME/.siegerc
    -f FILE, -file=FILE 指定用特定的urls文件运行siege ,默认为urls.txt,位于siege 安装目录下etc/urls.txt
    -u URL,-url=URL 测试指定的一个URL,对它进行"siege",此选项会忽略有关urls文件的设定
    urls.txt文件:是很多行待测试URL的列表以换行符断开,格式为:
    [protocol://]host.domain.com[:port][path/to/file]

三、ab压力测试工具 ab是针对apache的性能测试工具(apache环境貌似自带),可以只安装ab工具。

ubuntu/debian安装ab工具直接输入

代码语言:javascript
复制
  apt-get install apache2-utils

Centos安装ab工具输入

代码语言:javascript
复制
 yum install httpd-tools

使用方法:

代码语言:javascript
复制
 ab -kc 1000 -n 6000 http://127.0.0.1/1.png

这个指令会对目标网站的文件进行1000个并发,进行连接6000次

代码语言:javascript
复制
    Benchmarking 127.0.0.1 (be patient)
    Completed 100 requests
    Completed 200 requests
    Completed 300 requests
    Completed 400 requests
    Completed 500 requests
    Completed 600 requests
    Completed 700 requests
    Completed 800 requests
    Completed 900 requests
    Completed 1000 requests
    Finished 1000 requests     #已完成的请求任务进度

    Server Software:        bfe/1.0.8.13-sslpool-patch #服务器软件
    Server Hostname:        127.0.0.1.com              #服务器主机名
    Server Port:            80                         #服务器端口  
    SSL/TLS Protocol:       TLSv1.2,ECDHE-RSA-AES128-GCM-SHA256,2048,128  #SSL / TLS协议

    Document Path:          /1.png                     #文件路径
    Document Length:        6958 bytes                 #文件大小

    Concurrency Level:      1000                       #并发数量
    Time taken for tests:   10.325 seconds             #测试时间
    Complete requests:      1000                       #完成请求
    Failed requests:        0                          #失败请求
    Keep-Alive requests:    1000
    Total transferred:      7329126 bytes              #总传输的文件数据大小
    HTML transferred:       6958000 bytes              #HTML传输的数据大小
    Requests per second:    96.85 [#/sec] (mean)       #每秒请求的平均值,
    #重要指标,表示当前测试的服务器每秒可以处理96.85个静态html的请求事务,值越大客户机性能越好。
    Time per request:       10325.005 [ms] (mean)      #平均每次请求时间长度
    Time per request:       10.325 [ms] (mean, across all concurrent requests)  #平均每个请求的时间
    Transfer rate:          693.21 [Kbytes/sec] received    #传输网络速率

    Connection Times (ms)                                   #连接时间(ms)
              min  mean[+/-sd] median   max
    Connect:连接        0 1747 582.3   2089    2215              
    Processing:处理   189  535 803.2    227    8037
    Waiting: 等待     189  485 789.0    226    8037
    Total:总计        201 2282 914.8   2335   10246

    Percentage of the requests served within a certain time (ms)  #在一定时间内提供的请求的百分比(ms)
    50%   2335
    66%   2349
    75%   2358
    80%   2381
    90%   2430
    95%   2436
    98%   3863
    99%   7354
    100%  10246 (longest request)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-09-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 模拟100个用户,web请求间隔时间10秒,运行60s
  • 也可以创建一个测试名单xx.txt
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档