Web网站“服务器性能测试工具/压力测试工具”大全 详解

资深开发过网站的朋友们都知道,一款好的测试软件可以通过压力测试对网站及服务器性能进行高压测试,暴露出所存在的问题。从而对服务器及网站进行调整和优化。例如:网站并发测试......

 

注意:在进行压力测试时要在单独的机器上进行不要在正在运行项目的服务器上进行。

 

问:压力测试工具有哪些?

答:目前主要有:apache的abhttp_loadwebbenchSiege等。

 

性能测试工具/压力测试工具

 

一、http_load

程序非常小,解压后也不到100K;

http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载。但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死。还可以测试HTTPS类的网站请求。

 

安装:

wget http://www.acme.com/software/http_load/http_load-09Mar2016.tar.gz
tar zxf http_load-09Mar2016.tar.gz
cd http_load-09Mar2016
make && make install

 

使用:

命令格式:http_load -p 并发访问进程数 -s 访问时间 需要访问的URL文件

参数其实可以自由组合,参数之间的选择并没有什么限制。

比如你写成:http_load -parallel 5 -seconds 300 urls.txt 也是可以的。

 

参数说明:

-parallel 简写-p :含义是并发的用户进程数。

-fetches 简写-f :含义是总计的访问次数。

-rate 简写-p :含义是每秒的访问频率

-seconds简写-s :含义是总计的访问时间

URL文件:urllist.txt,文件格式是每行一个URL,URL最好超过50-100个测试效果比较好。

 

示例:

  1. http_load -p 30 -s 60 urllist.txt  

 

返回结果:

参数了解了,我们来看运行一条命令来看看它的返回结果;

命令:

http_load -rate 5 -seconds 10 urls 说明执行了一个持续时间10秒的测试,每秒的频率为5。

  1. 49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds5916 mean bytes/connection4.89274
  2. fetches/sec, 28945.5 bytes/secmsecs/connect: 28.8932 mean, 44.243 max, 24.488 minmsecs/first
  3. -response: 63.5362 mean, 81.624 max, 57.803 minHTTP response codes: code 200 -- 49

 

结果分析:

1.49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds

说明在上面的测试中运行了49个请求,最大的并发进程数是2,总计传输的数据是289884bytes,运行的时间是10.0148秒

 

2.5916 mean bytes/connection

说明每一连接平均传输的数据量289884/49=5916

 

3.4.89274 fetches/sec, 28945.5 bytes/sec

说明每秒的响应请求为4.89274,每秒传递的数据为28945.5 bytes/sec

 

4.msecs/connect: 28.8932 mean, 44.243 max, 24.488 min

说明每连接的平均响应时间是28.8932 msecs,最大的响应时间44.243 msecs,最小的响应时间24.488 msecs

 

5.msecs/first-response: 63.5362 mean, 81.624 max, 57.803 min

 

6、HTTP response codes: code 200 -- 49

说明打开响应页面的类型,如果403的类型过多,那可能要注意是否系统遇到了瓶颈。

 

特殊说明:

测试结果中主要的指标是 fetches/sec、msecs/connect 这个选项,即服务器每秒能够响应的查询次数,用这个指标来衡量性能。似乎比 apache的ab准确率要高一些,也更有说服力一些。Qpt-每秒响应用户数和response time,每连接响应用户时间。测试的结果主要也是看这两个值。当然仅有这两个指标并不能完成对性能的分析,我们还需要对服务器的cpu、men进行分析,才能得出结论。

 

二、webbench

webbench是Linux下的一个网站压力测试工具,最多可以模拟3万个并发连接去测试网站的负载能力。

 

下载:

下载地址可以到百度、google搜,我这里给出一个下载地址:http://soft.vpser.net/test/webbench/webbench-1.5.tar.gz 这个程序更小,解压后不到50K。

 

安装:

  1. wget http://soft.vpser.net/test/webbench/webbench-1.5.tar.gz  
  2. tar zxvf webbench-1.5.tar.gz  
  3. cd webbench-1.5  
  4. make && make install  

会在当前目录生成webbench可执行文件,直接可以使用了。

 

用法:

webbench -c 并发数 -t 运行测试时间 URL

 

示例:

  1. webbench -c 5000 -t 120 http://www.fujieace.com 

 

三、ab

ab是apache自带的一款功能强大的测试工具,安装了apache一般就自带了,用法可以查看它的说明。

 

用法:

ab [选项] [http://] hostname [:端口] /路径

 

选项:

-n 个请求执行的请求数

-c concurrency要创建的多个请求的数量

-t timelimit秒到最大。等待回应

-p postfile包含数据到POST的文件

-T content-type用于POSTing的Content-type头

-v 详细信息要打印多少个疑难解答信息

-w 在HTML表格中打印结果

-i 使用HEAD而不是GET

-x 属性要作为表属性插入的字符串

-y 属性作为tr属性插入的字符串

-z 属性要插入为td或th属性的字符串

-C 属性添加cookie,例如。 “阿帕奇= 1234。 (重复)

-H 属性添加任意标题行,例如。 'Accept-Encoding:gzip'插入所有正常的标题行之后。 (重复)

-A 属性添加基本的WWW认证,属性是一个冒号分隔的用户名和密码。

-P 属性添加基本代理验证,属性是一个冒号分隔的用户名和密码。

-X proxy:端口要使用的代理服务器和端口号

-V 打印版本号并退出

-k 使用HTTP KeepAlive功能

-d 不显示百分点服务表。

-S 不要显示信心估计和警告。

-g filename将收集到的数据输出到gnuplot格式文件。

-e 文件名输出CSV文件,包含百分比

-h 显示使用情况信息(此消息)

 

示例:

  1. ab -c 1000 -n 100 https://www.fujieace.com/index.php

这个表示同时处理1000个请求并运行100次index.php文件;

 

四、Siege

一款开源的压力测试工具,可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。

官方:http://www.joedog.org/

 

1、Siege下载:

  1. wget http://download.joedog.org/siege/siege-4.0.4.tar.gz  

 

2、解压:

  1. tar zxf siege-4.0.4.tar.gz  

 

3、进入解压目录:

  1. cd siege-4.0.4  

 

4、安装:

  1. ./configure  
  2. make && make install  

 

使用:

  1. siege -c 200 -r 10 -f example.url  

-c是并发量,-r是重复次数。 url文件就是一个文本,每行都是一个url,它会从里面随机访问的。

 

example.url内容示例:

https://www.fujieace.com

http://so.fujieace.com

 

结果说明:

Lifting the server siege… done.

Transactions: 3419263 hits //完成3419263次处理

Availability: 100.00 % //100.00 % 成功率

Elapsed time: 5999.69 secs //总共用时

Data transferred: 84273.91 MB //共数据传输84273.91 MB

Response time: 0.37 secs  //相应用时1.65秒:显示网络连接的速度

Transaction rate: 569.91 trans/sec //均每秒完成 569.91 次处理:表示服务器后

Throughput: 14.05 MB/sec  //平均每秒传送数据

Concurrency: 213.42  //实际最高并发数

Successful transactions: 2564081 //成功处理次数

Failed transactions: 11  //失败处理次数

Longest transaction: 29.04  //每次传输所花最长时间

Shortest transaction: 0.00  //每次传输所花最短时间

    A+
发布日期:2017年12月10日 15:27:37  所属分类:网站建设
最后更新时间:2018-07-07 12:25:13
评分: (3 票;平均数5.00 ;最高评分 5 ;用户总数3;总得分 15;百分比100.00)
付杰
iOS应用开发指南第12季:定位服务
  • ¥ 79.0元
  • 市场价:99.0元
iOS应用开发指南第10季:数据持久化
  • ¥ 59.0元
  • 市场价:99.0元
iOS应用开发指南第8季:iOS分层架构设计
  • ¥ 99.0元
  • 市场价:129.0元
iOS应用开发指南第6季:视图控制器与导航模式
  • ¥ 79.0元
  • 市场价:129.0元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:2   其中:访客  0   博主  0

  1. 头像 爱过知情重 1

    怎么没有 阿里云 压力测试qpt?