Chinaunix首页 | 论坛 | 博客
  • 博客访问: 347058
  • 博文数量: 66
  • 博客积分: 4010
  • 博客等级: 上校
  • 技术积分: 2204
  • 用 户 组: 普通用户
  • 注册时间: 2007-01-23 12:53
文章分类
文章存档

2010年(20)

2009年(30)

2008年(16)

我的朋友

分类: WINDOWS

2010-09-04 13:36:14

web性能压力测试工具
 
http_load
下载地址:
程序非常小,解压后也不到100K 居家旅行 携带方便 呵呵
http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载。但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死。可以可以测试HTTPS类的网站请求。
命令格式:http_load  -p 并发访问进程数  -s 访问时间  需要访问的URL文件
例如:
引用
http_load -p 30 -s 60  urllist.txt准备URL文件:tst.list,文件格式是每行一个URL,URL最好超过50-100个测试效果比较好,另外,测试结果中主要的指标是 fetches/sec 这个选项,即服务器每秒能够响应的查询次数,用这个指标来衡量性能。似乎比 apache的ab准确率要高一些,也更有说服力一些。
官方的例子:

引用
% ./http_load -rate 10 -seconds 60 urllist.txt
49 fetches, 4 max parallel, 289884 bytes, in 10.0148 seconds
5916 mean bytes/connection
4.89274 fetches/sec, 28945.5 bytes/sec
msecs/connect: 28.8932 mean, 44.243 max, 24.488 min
msecs/first-response: 63.5362 mean, 81.624 max, 57.803 min
4.89274 fetches/sec 这个值得就是说服务器每秒能够响应的查询次数为4.8左右
这个值得是根据 49 fetches / 10.0148 seconds 秒计算出来的
 
webbench
webbench是Linux下的一个网站压力测试工具,最多可以模拟3万个并发连接去测试网站的负载能力。下载地址可以到baidu google搜,我这里给出一个
下载地址:
这个程序更小,解压后不到50K,呵呵
安装非常简单
#tar zxvf webbench-1.5.tar.gz
#cd webbench-1.5
#make && make install
会在当前目录生成webbench可执行文件,直接可以使用了
用法:
webbench -c 并发数 -t 运行测试时间 URL
如:
webbench -c 5000 -t 120
 
ab
ab是apache自带的一款功能强大的测试工具
安装了apache一般就自带了,
用法可以查看它的说明

引用
$ ./ab
./ab: wrong number of arguments
Usage: ./ab [options] [http://]hostname[:port]/path
Options are:
-n requests Number of requests to perform
-c concurrency Number of multiple requests to make
-t timelimit Seconds to max. wait for responses
-p postfile File containing data to POST
-T content-type Content-type header for POSTing
-v verbosity How much troubleshooting info to print
-w Print out results in HTML tables
-i Use HEAD instead of GET
-x attributes String to insert as table attributes
-y attributes String to insert as tr attributes
-z attributes String to insert as td or th attributes
-C attribute Add cookie, eg. 'Apache=1234. (repeatable)
-H attribute Add Arbitrary header line, eg. 'Accept-Encoding: gzip'
Inserted after all normal header lines. (repeatable)
-A attribute Add Basic WWW Authentication, the attributes
are a colon separated username and password.
-P attribute Add Basic Proxy Authentication, the attributes
are a colon separated username and password.
-X proxy:port Proxyserver and port number to use
-V Print version number and exit
-k Use HTTP KeepAlive feature
-d Do not show percentiles served table.
-S Do not show confidence estimators and warnings.
-g filename Output collected data to gnuplot format file.
-e filename Output CSV file with percentages served
-h Display usage information (this message)
参数众多,一般我们用到的是-n 和-c
例如:
./ab -c 1000 -n 100
这个表示同时处理1000个请求并运行100次index.php文件.
 
 
 
自动监控apache服务状态并重启的shell脚本

目的:

1.监控apache服务器的状态

2.当发现apache down机就自动重启apache服务

3.重启apache不成功,发邮件给管理员警告apache down机

#!/bin/sh
PORT=`netstat -na|grep "LISTEN"|grep "80"|awk -F[:" "]+ '{print $4}'`
APACHEIP=`ifconfig eth0|awk '/inet/{print $2}'|cut -c 6-`
while [ `whoami` == "root" ]
do
   if [ "$PORT" == "80" ];then
     echo "Apache is running......"
   else
     echo "restart apache"
     /etc/init.d/httpd restart
     PORT=`netstat -na|grep "LISTEN"|grep "80"|awk -F[:" "]+ '{print $4}'`
        if [ "$PORT" == "80" ];then
          echo "apache restart successful......"
        else
          echo "apache restart failure......"
          echo "server: $APACHEIP apache is down,please try to restart apache!" > /var/log/apachemsg
          mail -s "warn!server: $APACHEIP  apache is down"
< /var/log/apachemsg

        fi
   fi
break
done 

 

赋予checkapache.sh可执行的权限

 

#chmod +x /usr/local/sbin/checkapache.sh

 

加入crontab,让系统五分钟检测一次apache状态

#crontab -l

 

*/5 * * * * /usr/local/sbin/checkapache.sh > /dev/null 2>&1
 
 
阅读(1724) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~