一、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 https://img.yuanmabao.com/zijie/pic/2022/01/21/bgjnztw45as.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)