Web性能测试
     分类:Web服务器     有: 0 条评论

Web性能测试

     分类:Web服务器     有: 0 条评论

Siege

Siege是一个压力测试和评测工具,设计用于WEB开发这评估应用在压力下的承受能力:可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。

官网:https://www.joedog.org/

安装Siege

Centos或Ubuntu直接用yum或apt安装就行了

yum install siege -y
apt-get install siege -y

源码安装
下载:http://download.joedog.org/siege/

yum install gcc -y
wget http://download.joedog.org/siege/siege-latest.tar.gz
tar -zxvf siege-latest.tar.gz

cd siege-XXXXXXX
./configure
make && make install
siege -V   #安装成功就能看到版本了

开始测试

siege -h        #查看帮助
siege -c 5 -r 2 https://baidu.com
参数说明: -c 是并发量,并发数为5,  -r 是重复次数, 重复2次

运行结果:

Transactions:                  30 hits        ## 完成处理数30
Availability:              100.00 %           ## 可用,成功率100%
Elapsed time:                4.67 secs        ## 耗时4.67秒
Data transferred:            0.07 MB          ## 数据传输0.07MB
Response time:                0.50 secs        ## 响应时间0.50秒
Transaction rate:            6.42 trans/sec   ## 每秒完成6.42个处理
Throughput:                0.01 MB/sec      ## 吞吐量,每秒传输0.01MB
Concurrency:                3.21             ## 实际最高并发连接数
Successful transactions:          30             ## 成功完成处理30次
Failed transactions:               0             ## 失败0次
Longest transaction:            2.25             ## 每次传输所花最长时间
Shortest transaction:            0.37             ## 每次传输所花最短时间

Siege常用参数

Siege常用的参数有如下几个:

-c 或者 --concurrent=NUM : 用于指定并发人数
-r 或者 --reps=NUM       : 用于指定重复次数
-d 或者 --delay=NUM      : 用于指定延迟时间
-f 或者 --file=FILE      : 用于指定URL列表的文件,可以一次对多个路径进行测试
-t 或者 --time=NUMm      : 用于指定测试持续时间。例如: -t10S (10秒)  -t5M(5分钟)  -t1H(1小时)
-l 或者 --log[=FILE]     : 用于记录结果日志

参考:https://my.oschina.net/wangmengjun/blog/913745


wrk

git clone https://github.com/wg/wrk.git && cd wrk
make
./wrk -c 1 -t 1 -d 1 http://www.baidu.com

参数:

-t 需要模拟的线程数
-c 需要模拟的连接数
--timeout 超时的时间
-d 测试的持续时间

结果:
Latency:响应时间
Req/Sec:每个线程每秒钟的完成的请求数
Avg:平均
Max:最大
Stdev:标准差
+/- Stdev: 正负一个标准差占比

标准差如果太大说明样本本身离散程度比较高. 有可能系统性能波动很大,如果想看响应时间的分布情况可以加上--latency参数

参考:https://www.cnblogs.com/savorboard/p/wrk.html


(●゚ω゚●)