web应用 网站的压力测试

首先咱们来介绍几个经常使用的压测工具,我也只了解这些,webbench/ab/jmeter 这三种工具,html

下面咱们来分别介绍一下这几种工具的安装和使用。linux

一、webbenchnginx

Webbench是有名的网站压力测试工具,它是由Lionbridge公司(http://www.lionbridge.com)开发.它的帮助文件和文档请到:www.webbench.com上查看.
Webbech能测试处在相同硬件上,不一样服务的性能以及不一样硬件上同一个服务的运行情况.webBech的标准测试能够向咱们展现服务器的两项 内容:每秒钟相应请求数和每秒钟传输数据量.webbench不但能具备便准静态页面的测试能力,还能对动态页面(ASP,PHP,JAVA,CGI)进 行测试的能力.还有就是他支持对含有SSL的安全网站例如电子商务网站进行静态或动态的性能测试.web

RedHat/CentOS下的编译安装
下载安装包:wget http://blog.s135.com/soft/linux/webbench/webbench-1.5.tar.gzapache

tar zxf webbench-1.5.tar.gz
cd webbench-1.5
make && make install

webbench使用windows

webbench --help  (查看命令帮助)
$: webbench -c 100 http://localhost:12345/test  
Webbench - Simple Web Benchmark 1.5  
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.  
  
Benchmarking: GET http://localhost:12345/test  
100 clients, running 30 sec.  
  
Speed=495888 pages/min, 586798 bytes/sec.  
Requests: 247944 susceed, 0 failed.

并发100个,运行30s,访问请求所有成功,速度495888 pages/min, 586798 bytes/sec安全

 

二、ab服务器

下面是一种快速的方式。网络

yum install httpd-tools并发

安装完成后运行AB工具试试,出现下面的内容代表安装成功。

ab: wrong number of arguments

使用:

#ab -c 1000 -n 4000 http://www.yousite.com/index.html  #具体到某页面

-n后面的4000表明总共发出4000个请求;-c后面的1000表示采用1000个并发(模拟1000我的同时访问),后面的网址表示测试的目标URL。

[root@Tomcat ab]# ab -c 1000 -n 4000 http://192.168.0.222/docs/manager-howto.html
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking 192.168.0.222 (be patient)
Completed 400 requests
Completed 800 requests
Completed 1200 requests
Completed 1600 requests
Completed 2000 requests
Completed 2400 requests
Completed 2800 requests
Completed 3200 requests
Completed 3600 requests
Finished 4000 requests


Server Software:        nginx/1.4.3
Server Hostname:        192.168.0.222
Server Port:            80

Document Path:          /docs/manager-howto.html
Document Length:        73924 bytes

Concurrency Level:      1000
Time taken for tests:   0.875928 seconds
Complete requests:      4000
Failed requests:        0
Write errors:           0
Total transferred:      296732000 bytes
HTML transferred:       295696000 bytes
Requests per second:    4566.59 [#/sec] (mean)
#最重要的指标之一,至关于LR中的每秒事务数,后面括号中的mean表示这是一个平均值,越大抗压越强
Time per request:       218.982 [ms] (mean) 
#最重要的指标之二,至关于LR中的平均事务响应时间,后面括号中的mean表示这是一个平均值
Time per request:       0.219 [ms] (mean, across all concurrent requests)
Transfer rate:          330822.86 [Kbytes/sec] received
#平均每秒网络上的流量,吞吐量,越大抗压越强

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   4.5      0      29
Processing:     1   17  14.5     17     653
Waiting:        0   17  14.5     17     653
Total:         15   18  15.2     17     674

Percentage of the requests served within a certain time (ms)
  50%     17
  66%     18
  75%     18
  80%     18
  90%     20
  95%     22
  98%     37
  99%     40
 100%    674 (longest request)

三、jmeter

jmeter这个工具既能够在windows中运行也能够在linux中运行,不过在windows中运行很容易达到瓶颈,线程开多了,本身机器扛不住了,没法达到真正想要的压测,不像linux cpu能够飚到二三百。

下面介绍下jmeter在linux中的安装和使用

(1)、下载,解压

        http://jmeter.apache.org/download_jmeter.cgi

(2)、配置环境变量

        

vi /etc/profile

        添加以下两行代码

        export JMETER=/usr/local/jmeter/apache-jmeter-2.9 

        export PATH=${JMETER}/bin/:${PATH}

source /etc/profile

检查是否配置成功:命令行输入 jmeter -v 

若提示权限不够,则 chmod 777 filename

运行前,先在Windows中jmeter图形界面建立好测试计划,而后放到linux系统文件目录下usr/local/jmeter/testplan/linux_jmeter_test.jmx

#jmeter -n -t /usr/local/jmeter/testplan/linux_jmeter_test.jmx -l test_queryweb.jtl

执行完成,本身分析结果吧

 

 

http://blog.csdn.net/yangcs2009/article/details/31370091

相关文章
相关标签/搜索