三种web性能压力测试工具http_load webbench ab小结

题记:压力和性能测试工具很多,下文讨论的是我觉得比较容易上手,用的比较多的三种

http_load

下载地址:http://www.acme.com/software/http_load/http_load-12mar2006.tar.gz

程序非常小,解压后也不到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 60urllist.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.624max, 57.803 min

4.89274 fetches/sec 这个值得就是说服务器每秒能够响应的查询次数为4.8左右

这个值得是根据 49 fetches / 10.0148 seconds 秒计算出来的

webbench

webbench是Linux下的一个网站压力测试工具,最多可以模拟3万个并发连接去测试网站的负载能力。下载地址可以到baidu google搜,我这里给出一个

下载地址:http://cid-9601b7b7f2063d42.skyd ... webbench-1.5.tar.gz

这个程序更小,解压后不到50K,呵呵

安装非常简单

#tar zxvf webbench-1.5.tar.gz

#cd webbench-1.5

#make && make install

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

用法:

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

如:

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

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 requeststo make

-t timelimit Seconds to max. wait forresponses

-p postfile File containing data to POST

-T content-type Content-type header forPOSTing

-v verbosity How much troubleshooting infoto print

-w Print out results in HTML tables

-i Use HEAD instead of GET

-x attributes String to insert as tableattributes

-y attributes String to insert as trattributes

-z attributes String to insert as td or thattributes

-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 andpassword.

-P attribute Add Basic ProxyAuthentication, the attributes

are a colon separated username andpassword.

-X proxy:port Proxyserver and port numberto 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 andwarnings.

-g filename Output collected data tognuplot format file.

-e filename Output CSV file withpercentages served

-h Display usage information (this message)

参数众多,一般我们用到的是-n 和-c

例如:

./ab -c 1000 -n 100http://www.askwan.com/index.PHP

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

nmon 工具可以为 AIX 和 Linux 性能专家提供监视和分析性能数据的功能

一、下载nmon工具和nmon****yser

Nmon下载:

位置:可从IBM Wiki上下载

http://www-941.haw.ibm.com/colla ...play/WikiPtype/nmon

例如我测试的系统是AIX5.3,那么就可以下载nmon4aix12e.zip ,下载后我们可以看到压缩包里是一些文件,

其实nmon就是shell脚本,nmon文件运行时调用其他的文件,生成性能数据,这个工具运行时也是通过执行nmon脚本接受参数。

Nmon****yser下载:

位置:可从可从IBM Wiki上下载

http://www-941.haw.ibm.com/colla ...iptype/nmon****yser

二、上传nomn工具到服务器上&修改属性

将nmon4aix12e.zip里的文件ftp到服务器上,目录任意,最好自己新建一个目录,然后将文件的属性修改为可执行的:chmod 755 nmon_aix53

三、在服务器上运行nmon脚本

进入/home/nmon目录

cd /home/nmon

运行nmon脚本

./nmon -fT -s 30 -c 120

其中30表示每隔30秒nmon取一次系统性能数据,120表示取120次;

这样nmon将会在运行开始算起连续取得30sX120=60分钟,可根据实际需要时间调整;

当运行以上命令后该目录下会生成一个.nmon文件,该文件会根据间隔时间被写入性能数据,当一段时间后再查看该文件,文件字节变大;

四、利用nmon****yser分析.nmon文件

当测试结束的同时ftp到服务器上将.nmon文件get下来,

打开nmon_****yser.zip 包下的nmon ****yser v338.xls 文件,点击****yse nomndata按钮,选择之前get来下的.nmon文件。

(如果报告以下宏的安全级别太高错误,则在“工具 -- 宏 --安全性”里把级别调低,然后重新打开 nmon ****yser v338.xls 文件)

待分析结束后会生成性能分析结果文件(文件格式为.xls,其中包括CPU,IO,内存等性能分析报告)。

分析结果中有很多数据和图形,简要介绍主要的性能参数图像

4.1 系统汇总(对应excel标签的‘SYS_SUMM’)

蓝线为cpu占有率变化情况;

粉线为磁盘IO的变化情况;

4.2磁盘读写情况汇总(对应excel标签的‘DISK_SUMM’)

蓝色为磁盘读的速率KB/sec

紫色为磁盘写的速率KB/sec

4.3内存情况汇总(对应excel标签的‘MEM’)

曲线表示内存剩余量(MB)

分析数据得到的报告文件(.xls)中包含很多性能分析结果数据,根据自己的需要查看。

五、nmon运行本身就消耗系统资源的;

另外如果取到.nmon文件后确定不再需要nmon继续收集信息则应kill掉nmon;

命令:

1.ps -A | grep nmon #得到pid

2.kill -9 pid

六、定时任务

在很多情况下,我们需要知道在一个连续的时间段里,机器的性能情况。例如,记录每天的机器性能状况,步骤如下:

建nmon目录/nmon,在目录下建两个子目录/nmon/bin和/nmon/data目录,

把下载下来的nmon程序放到bin目录下,aix下的nmon可执行文件名称可能为:

nmon_aix53

在/nmon/bin目录下建一个脚本文件nmon.sh,内容如下:

#!/bin/ksh

BINPATH=`dirname $0`

NPATH=$BINPATH/../data

$BINPATH/nmon_aix53 -s300 -c288 -f -m$NPATH

-s300表示每300秒采集一次数据,

-c288表示采集288次,300*288=86400秒,刚好是1天的数据,这样运行一次这个程序就会生成一个一天的数据文件,

-m$NPATH表示生成的数据文件的路径

-f表示生成的数据文件名中有时间

然后在crontab 中增加一条记录:

0 0 * * * /home/sun/nmon/bin/nmon.sh>/dev/null 2>&1

这样每天凌晨都会运行nmon,这样每天都会生成一个nmon文件。

生成的文件名为:myhost _090507_0000.nmon,“myhost”是这台主机的hostname。

把生成的数据文件传到Windows机器上,用Excel打开分析工具nmon ****yser v33A.xls

然后再点Excel文件中的“****yze nmon data”按钮,选取那个性能数据文件

这样就会生成一个分析后的结果文件:myhost_090507_0000.nmon.xls

用Excel打开生成的Excel文件就可以看到结果了。

*CPU 使用率

*内存使用情况

*内核统计信息和运行队列信息

*磁盘 I/O 速度、传输和读/写比率

*文件系统中的可用空间

*磁盘适配器

*网络 I/O 速度、传输和读/写比率

*页面空间和页面速度

*CPU 和 AIX 规范

*消耗资源最多的进程

*IBM HTTP Web 缓存

*用户自定义的磁盘组

*计算机详细信息和资源

*异步 I/O,仅适用于 AIX

*工作负载管理器 (WLM),仅适用于 AIX

*IBM TotalStorage® Enterprise Storage Server® (ESS) 磁盘,仅适用于 AIX

*网络文件系统 (NFS)

*动态 LPAR (DLPAR) 更改,仅适用于面向 AIX 或 Linux 的 pSeries p5 和 OpenPower

三种web性能压力测试工具的更多相关文章

  1. [AapacheBench工具]web性能压力测试工具的应用与实践

    背景:网站性能压力测试是性能调优过程中必不可少的一环.服务器负载太大而影响程序效率是很常见的事情,一个网站到底能够承受多大的用户访问量经常是我们最关心的问题.因此,只有让服务器处在高压情况下才能真正体 ...

  2. Mac下的Web性能压力测试工具:ab(ApacheBench)

    Web开发,少不了的就是压力测试,它是评估一个产品是否合格上线的基本标准. ab是一种用于测试Apache超文本传输协议(HTTP)服务器的工具.apache自带ab工具,可以测试Apache.IIS ...

  3. (总结)Web性能压力测试工具之WebBench详解

      PS:在运维工作中,压力测试是一项很重要的工作.比如在一个网站上线之前,能承受多大访问量.在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验.但是,在压力测试中存在一个共性,那就是压力 ...

  4. Web性能压力测试工具之Siege详解

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

  5. Web性能压力测试工具之WebBench

    在运维工作中,压力测试是一项很重要的工作.比如在一个网站上线之前,能承受多大访问量.在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验.但是,在压力测试中存在一个共性,那就是压力测试的结果 ...

  6. Web性能压力测试工具之WebBench详解

    PS:在运维工作中,压力测试是一项很重要的工作.比如在一个网站上线之前,能承受多大访问量.在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验.但是,在压力测试中存在一个共性,那就是压力测试 ...

  7. web性能压力测试工具http_load/webbench/ad

    http_load 下载地址:http://www.acme.com/software/http_load/http_load-12mar2006.tar.gz 程序非常小,解压后也不到100K 居家 ...

  8. Web 性能压力测试工具之 Siege 详解

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

  9. webbench(web性能压力测试工具)

    在运维工作中,压力测试是一项很重要的工作.比如在一个网站上线之前,能承受多大访问量.在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验.但是,在压力测试中存在一个共性,那就是压力测试的结果 ...

随机推荐

  1. /var/spool/clientmqueue 爆满问题

    当你使用简单的sendmail发邮件的时候,或者系统默认要发一些邮件(比如cron发的邮件)的时候,首先会把邮件拷贝到这个目录里,然后等待MTA(mail transfer agent) 来处理,MT ...

  2. Datax官方笔记总结

    # DataX DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL.SQL Server.Oracle.PostgreSQL.HDFS.Hive.HBase.OTS. ...

  3. myEclipse 输入时英文自动变成2个字符大小

    比如这样: ——这是输入法的问题,输入法被误设为圆角了. 输入法有区分圆角半角,正常来说我们使用的都是半角. 那么如何切换半圆角? ——比如:百度输入法 首先,将半圆角的快捷键显示出来: ——点击“d ...

  4. Effective java第一章引言

    菜鸟一枚,开始读第一本书<Effective Java>(第二版)~ 看引言就有好多名词不懂(>_<) 导出的API由所有可在定义该API的包之外访问的API元素组成.一个包的 ...

  5. keystone DB in devstack

    ~$ mysql -u -p root mysql> use keystone; mysql> show tables;+------------------------+| Tables ...

  6. dom 兼容性问题 2 offset

        offsetParent : 离当前节点最近的具有定位属性的祖先节点. 如果所有祖先节点都没有定位属性: 对于一个有定位属性的元素: ie6.7 : offsetParent 是 html 节 ...

  7. [非原创] 常用加密算法整理 AES/SSL(一)

    前言: 在伟大的计算机科学家研究下,发明了许多的加密算法,以下做个简答的描述: 一.分类 加密算法分为两种:单向加密.双向加密. 单向加密,不可逆的加密算法,只能加密不能解密: 双向加密,由对称性加密 ...

  8. ionic3 教程(一)安装和配置

    // 安装(失败的话 Mac 尝试使用 sudo,Windows 尝试管理员身份运行 cmd) $ npm install -g cordova ionic // 安装后可以验证一下 ionic cl ...

  9. JavaScript中的数组和对象 增删遍

    由于 JavaScript 的语言特性,我们可以向通用对象动态添加和删除属性.所以 Object 也可以看成是 JS 的一种特殊的集合. 虽然这个集合的 key 只能是 String 类型,不像 Ja ...

  10. np.unique 的实现

    1. 简单实现 import numpy as np def unique(ar): perm = ar.argsort() aux = ar[perm] flag = np.concatenate( ...