网站压力测试工具

一、ab压力测试

ab是apache自带的压力测试工具,ab是apachebench命令缩写。它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试。比如nginx、tomcat、IIS等。

如:ab -n 1000 -c 50 http://www.newdev.gztest.com/(-n 全部请求数  -c 并发数)

Requests per second: 108.61 [#/sec] (mean) #每秒请 求数(平均)//大家最关心的指标之一,相当于 LR 中的每秒事务数,后面括 号中的 mean 表示这是一个平均值Time per request: 460.381 [ms] (mean) #每次并发请求时间(所有并发) //大家最关心的指标之二,相当于 LR 中的平均事务响应时间, 后面括号中的 mean 表示这是一个平均值
Time per request: 9.208 [ms] (mean, across all concurrent requests) #每一请求时间(并发平均) //每个请求实际运行时间的平均值
Transfer rate: 8771.39 [Kbytes/sec] received #传输速 率//平 均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题

推荐看:https://www.cnblogs.com/yueminghai/p/6412254.html

二、httperf 

httperf/httperf: The httperf HTTP load generator (github.com)

# tar zxvf httperf-0.9.0.tar.gz
# cd httperf-0.9.0
[root@localhost httperf-0.9.0]# ./configure
[root@localhost httperf-0.9.0]# make && make install
# httperf --hog --server=192.168.0.202 --uri=/index.html --num-conns= 10000 --wsess=10,10,0.1
  • --hog:让httperf尽可能多产生连接,httperf会根据硬件配置,有规律的产生访问连接
  • --num-conns:连接数量,总发起10000请求
  • --wsess:用户打开网页时间规律模拟,第一个10表示产生10个会话连接,第二个10表示每个会话连接进行10次请求,0.1表示每个会话连接请求之间的间隔时间/s

三、Jmeter性能测试(接口、压力)

Apache JMeter是一个开源的 压力测试 工具, JMeter 是基于 Java  开发的,不仅仅用于 Web 压力测试,还用开源用于基于访问式软件做压力测试,可对静态文件、数据库、FTPSSH等做  压力测试 ,运行在windos系统上。

推荐看:https://www.cnblogs.com/balllyh/p/9474372.html

              https://blog.csdn.net/u012111923/article/details/80705141

四、webbench 网站压力测试

 webbench -c 300 -t 60 http://www.baidu.com/

-t表示测试的时间,-c表示并发访问网站的客户数

Webbench能测试处在相同硬件上,不同服务的性能,也能测试不同硬件上同一个服务的运行状况。
webbench的标准测试可以展示服务器的两项内容:每秒钟相应请求数和每秒钟传输数据量。
webbench具有静态页面的测试能力,能对动态页面(ASP,PHP,JAVA,CGI)进行测试;也支持对含有SSL的安全网站例如电子商务网站进行静态或动态的性能测试

五、http_load压力测试(负载、吞吐量)

http_load是基于linux平台的性能测试工具,它体积非常小,仅100KB。它以并行复用的方式运行,可以测试web服务器的吞吐量与负载

 http_load使用方式:

 http_load -parallel 100 -fetches 10000

 #100个并发执行10000次

 http_load -parallel 100 -seconds 3600

 #100个并发执行1小时

 http_load -rate 100 -fetches 10000

 #每秒100个请求频率,请求10000次

 http_load -rate 100 -seconds 3600

 #每秒100个请求频率执行1小时

推荐看:https://www.cnblogs.com/cqingt/p/6043126.html

六、Loadrunner(LR)

 Loadrunner 11是一款免费的性能测试工具,他包含三个大模块(运行在windos)

 •使用VuGen:创建脚本
•运用Controller:设置方案
•查看Analysis:分析测试结果

LR性能测试常用术语:

并发用户数量:与服务器进行交互的在线用户数量(与服务器交互+在线)。

请求响应时间:从client端发出请求到得到响应的整个时间(发送请求时间+sever返回消息时间)。

事务响应时间:完成一个事务所用的时间(很重要)

吞吐率:每秒在网络上传输的数据量(是指server端返回client端的数据量),同样很重要

tps(Transaction per second)每秒系统能够处理事务的数量(与并发用户数相关。举个例子,一个事务的响应时间是1s,现在有一个用户与服务器进行交互,那么此时的tps就是1;一个事务的响应时间是1s,此时1000个用户与服务器进行交互,未达到服务器极限的情况下,服务器基本稳定,此时的tps就是1000)。

点击率:每秒发送的HTTP请求数量,点击率越大,对server的压力越大(非鼠标点击button数,并不准确,一个button可能包含多个请求)

资源利用率:监控不同资源的使用程度,比如服务器的CPU、内存等

 推荐:https://blog.csdn.net/gyrii/article/details/80237497

七、siege(Http压力测试工具

Siege是一款高性能的Http压力测试工具。
Siege支持身份验证、cookies、http、https和ftp协议。

推荐:https://www.jianshu.com/p/74c465ff136f

八、wrk

wrk 是一款针对 Http 协议的基准测试工具,它能够在单机多核 CPU 的条件下,使用系统自带的高性能 I/O 机制,如 epoll,kqueue 等,

通过多线程和事件模式,对目标机器产生大量的负载。

wrk -t8 -c200 -d30s --latency http://www.bing.com

Running 30s test @ http://www.bing.com (压测时间30s)

  8 threads and 200 connections (共8个测试线程,200个连接)

  Thread Stats   Avg      Stdev     Max   +/- Stdev
              (平均值) (标准差)(最大值)(正负一个标准差所占比例)
    Latency    46.67ms  215.38ms   1.67s    95.59%
    (延迟)
    Req/Sec     7.91k     1.15k   10.26k    70.77%
    (处理中的请求数)

  Latency Distribution (延迟分布)
     50%    2.93ms
     75%    3.78ms
     90%    4.73ms
     99%    1.35s (99分位的延迟:%99的请求在1.35s以内)
  1790465 requests in 30.01s, 684.08MB read (30.01秒内共处理完成了1790465个请求,读取了684.08MB数据)
Requests/sec:  59658.29 (平均每秒处理完成59658.29个请求)
Transfer/sec:     22.79MB (平均每秒读取数据22.79MB)

 

 

https://www.cnblogs.com/l199616j/p/12156600.html

http://www.51testing.com/html/index.html(51测试网)

 

posted @ 2019-11-06 21:58  凡人半睁眼  阅读(761)  评论(0编辑  收藏  举报