程序压力测试、性能测试AB、Webbench、Tsung
负载生成器是一些生成用于测试的流量的程序。它们可以向你展示服务器在高负载的情况下的性能,以及让你能够找出服务器可能存在的问题。为了得到更加客观和准确的数值,应该从远程访问、局域网访问和本地等多个方面进行全方位的测试。一般用127.0.0.1进行本机测试
Software Foundation\Apache2.2\bin)
50 http://127.0.0.1/index.php 来测试自己服务器Web性能。
[options] [full path to web document]
|
字段 |
描述 |
示 例 值 |
|
Concurrency Level |
所进行的并发请求总数 |
1,2,3,…,n, 其中n为任意数字 |
|
Time taken for tests |
运行所花费的总时间 |
000.000秒 |
|
Complete requests |
模拟的请求总数中已 完成的请求总数 |
1,2,3,…,n, 其中n为任意数字 |
|
字段 |
描述 |
示 例 值 |
|
Failed requests |
模拟的请求总数 中失败的请求总数 |
1,2,3, …,n, 其中n为任意数字 |
|
Write errors |
使用写入数据时 遇到的错误总数 |
1,2,3, …,n, 其中n为任意数字 |
|
Non-2×× responses |
未收到HTTP成功 响应的请求总数(200) |
1,2,3,…,n, 其中n为任意数字 |
|
Total transferred |
整个模拟的响应中 传输的总数据, 大小包括标头数据 |
725个字节 |
|
HTML transferred |
整个模拟传输的内容 正文的总大小 |
137 199个字节 |
|
Requests |
每秒支持的请求总数 |
5.68 [#/秒] (平均值) |
|
Time |
满足一个请求需要 花费的总时间 |
176.179毫秒 |
|
Time per request |
满足所有并发请求 中的一个请求需要 花费的总时间 |
176.179毫秒 |
|
Transfer rate |
每秒收到的字节总数(KB) |
766.27 [KB/秒] |
|
标记 |
描述 |
|
-A <username>:<password> |
用于提供服务器身份验证信息。 用户名和密码用“:”分隔。 发送的字符串采用base64编码 |
|
-c <concurrency number> |
一次模拟的请求数。默认情 况下设置为1。数量不得大于n值 |
|
-C cookie-name=value |
可重复的标记,包含cookie信息 |
|
-d |
隐藏“percentage served within XX[ms] table” |
|
标记 |
描述 |
|
-e |
要创建的.csv文件的路径。该文件包 含运行的基准测试的结果,该结果分为 两列,即Percentage和Time 采用“gnuplot”文件 |
|
-g |
要创建的“gnuplot”或TSV文件的路径。 基准测试的输出将保存到该文件中 |
|
-h |
显示要用于ab的选项列表 |
|
-H custom-header |
采用字段值对形式发送有效标头和请求 |
|
-i |
执行HEAD请求,而不是默认的GET请求 |
|
-k |
启用Keep-Alive功能。允许通过一个 HTTP会话满足多个请求。默认情况下, 该功能处于禁用状态 |
|
-n requests |
要执行的请求总数 |
|
-p POST-file |
包含用于HTTP POST请求的数据的 文件路径。内容应该包含由&分隔的键=值对 |
|
-P username:password |
采用Base64编码的字符串。字符串包含 基本身份验证,以及由“:”分隔的用户名和密码 |
|
-q |
执行多于100个请求时隐藏进度输出 |
|
-s |
使用https协议,而非默认的http协议 ——不建议这样做 |
|
-S |
隐藏中位数和标准偏差值 |
|
-t timelimit |
指定了这个值以后,基准测试的时间 不会超过指定的值。默认情况下无时间限制 |
|
-v verbosity-level |
数值为2及以上将打印警告和信息; 为3将打印HTTP响应代码;4及以 上将打印标头信息 |
|
-V |
显示ab工具的版本号 |
|
-w |
采用HTML表格打印结果 |
|
-x <table-attributes> |
表示HTML属性的字符串, 使用–w时将放置在<table>标记中 |
|
-X proxy[:port] |
指定要使用的代理服务器。 代理端口是可选的 |
|
-y <tr-attributes> |
表示HTML属性的字符串, 使用–w时将放置在<tr>标记中 |
|
-z <td-attributes> |
表示HTML属性的字符串, 使用–w时将放置在<td>标记中 |
Webbench最多可以模拟3万个并发连接数来测试服务器压力,可以设置压力测试时间和测试请求的成功率。
1. 安装:
wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz
tar zxvf webbench-1.5.tar.gz
cd webbench-1.5
make && make install
如报错:执行安装 yum install ctags和yum install gcc,如果有出现没有文件路径错误,执行:mkdir -m 644 -p /usr/local/man/man1
2. 使用
webbench -c 1000 -t 10 http://www.qq.com/index.php,-c是并发数 -t是运行测试时间,即10秒钟内中以每次100个请求进行测试。
这是运行Webbench测试结果,Speed显示的是每分钟响应请求数和每秒钟传输数据量,Requests显示的是成功请求数和失败请求数。
为准确得到服务器的承受压力,测试时并发数可逐渐加大,如并发100时观察一下网站负载是多少、打开页面是否流畅,当网站打开缓慢时并发是多少、网站打不开时并发又是多少
SSL、HHTP、WebDAV、SOAP、PostgreSQL、MySQL、LDAP 和 Jabber/XMPP。与 Jmeter 不同的是,它没有让人感到迷茫的 GUI 设置,它仅有一个 XML 配置文件,和一些你选择的分布式节点的 SSH 密钥。它的简洁和效率对我的吸引力,完全不亚于它的健壮性和可扩展性。我发现它是一个很强大的工具,在正确的配置下它可以每秒产生百万级的 HTTP 请求。
看!
SSH 密钥(passwordless SSH key),那么请建立之。
gnuplot perl-Template-Toolkit firefox
5 百万个 HTTP 请求。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
<?xmlversion="1.0"?><!DOCTYPE tsung SYSTEM "/usr/share/tsung/tsung-1.0.dtd"><tsungloglevel="notice"version="1.0"><clients><clienthost="localhost"weight="1"cpu="10"maxusers="40000"><ipvalue="192.168.122.2"/></client><clienthost="loadnode1"weight="1"cpu="9"maxusers="40000"><ipvalue="192.168.122.2"/></client><clienthost="loadnode2"weight="1"maxusers="40000"cpu="8"><ipvalue="192.168.122.3"/></client><clienthost="loadnode3"weight="1"maxusers="40000"cpu="9"><ipvalue="192.168.122.21"/></client><clienthost="loadnode4"weight="1"maxusers="40000"cpu="9"><ipvalue="192.168.122.11"/></client><clienthost="loadnode5"weight="1"maxusers="40000"cpu="9"><ipvalue="192.168.122.12"/></client><clienthost="loadnode6"weight="1"maxusers="40000"cpu="9"><ipvalue="192.168.122.13"/></client><clienthost="loadnode7"weight="1"maxusers="40000"cpu="9"><ipvalue="192.168.122.14"/></client></clients><servers><serverhost="192.168.122.10"port="80"type="tcp"/></servers><load><arrivalphasephase="1"duration="10"unit="minute"><usersmaxnumber="15000"arrivalrate="8"unit="second"/></arrivalphase><arrivalphasephase="2"duration="10"unit="minute"><usersmaxnumber="15000"arrivalrate="8"unit="second"/></arrivalphase><arrivalphasephase="3"duration="30"unit="minute"><usersmaxnumber="20000"arrivalrate="3"unit="second"/></arrivalphase></load><sessions><sessionprobability="100"name="ab"type="ts_http"><forfrom="1"to="10000000"var="i"><request>httpurl="/test.txt"method="GET"version="1.1"/>request></for></session></sessions></tsung> |
设置节点能够模拟的用户数量上限。每一个用户都会执行我们之后定义的操作。
100% 。
次并且 <request> 一个网页:/test.txt 。
vim ~/.bashrcaliastreport="/usr/lib/tsung/bin/tsung_stats.pl; |
|
1
|
source~/.bashrc |
|
1
2
3
|
[root@loadnode1 ~] tsung startStarting Tsung"Log directory is: /root/.tsung/log/20120421-1004" |
|
1
2
|
cd/root/.tsung/log/20120421-1004treport #生成图片报告 |
程序压力测试、性能测试AB、Webbench、Tsung的更多相关文章
- CentOS 6.7平台nginx压力测试(ab/webbench)
压力测试工具一:webbench 1.安装 wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz tar zxvf w ...
- httpd的压力测试工具-ab工具使用案例
httpd的压力测试工具-ab工具使用案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.httpd自带的工具程序 事实上,在我们安装完Apache之后,它默认就会给我们安 ...
- 推荐一个linux下的web压力测试工具神器webbench
推荐一个linux下的web压力测试工具神器webbench2014-04-30 09:35:29 来源: 评论:0 点击:880 用多了apache的ab工具之后你就会发现ab存在很多问题, ...
- Apache中压力测试工具ab的操作说明
1.压力测试工具ab(ApacheBench)的简单说明 1) 网站性能压力测试是性能调优过程中必不可少的一环.只有让服务器处在高压情况下才能真正体现出各种设置所暴露的问题.Apache中有个 ...
- 压力测试工具ab及centos下单独安装方法
压力测试工具Ab简介 Apache安装包中自带的压力测试工具 Apache Benchmark(简称ab) 简单易用,这里就采用 ab作为压力测试工具了. 1.独立安装 ab运行需要依赖apr-uti ...
- Nginx压力测试工具之WebBench
Nginx压力测试工具之WebBench 在Apache中有自带的ab命令可以测试服务的压力,而nginx没有自带的命令,必须要采用第三方软件来测试,今天就简单介绍一下webbench对nginx ...
- Apache自带压力测试工具ab用法简介
ab命令原理 ab命令会创建很多的并发访问线程,模拟多个访问者同时对某一URL进行访问.它的测试目标是基于URL的,因此,既可以用来测试Apache的负载压力,也可以测试nginx.lighthttp ...
- apache自带压力测试工具ab的使用及解析
当你搭建了apache服务器并在上面部署了web网站,在网站运行前,为了使apache服务器的性能得到更好的应用,我们可以先对其进行压力测试.进行压力测试其实非常简单,我们也不用再额外下载安装什么测试 ...
- 压力测试工具ab及centos下单独安装方法 nginx和tomcat静态资源的性能测试
Apache安装包中自带的压力测试工具Apache Benchmark(简称ab)简单易用,这里采用ab作为压国测试工具. 独立安装: ab运行需要信赖apr-util包: # yum install ...
随机推荐
- makefile 和shell文件相互调用
shell 文件内调用makefile文件: #!/bin/bash cd ctemplate-2.1./configuresudo make -f installcd ../cd Templat ...
- iOS开源加密相册Agony的实现(二)
简介 虽然目前市面上有一些不错的加密相册App,但不是内置广告,就是对上传的张数有所限制.本文介绍了一个加密相册的制作过程,该加密相册将包括多密码(输入不同的密码即可访问不同的空间,可掩人耳目).Wi ...
- 全面剖析Redis Cluster原理和应用
全面剖析Redis Cluster原理和应用 1.Redis Cluster总览 1.1 设计原则和初衷 在官方文档Cluster Spec中,作者详细介绍了Redis集群为什么要设计成现在的样子.最 ...
- Spring之DAO模块
Spring的DAO模块提供了对JDBC.Hibernate.JDO等DAO层支持 DAO模块依赖于commons-pool.jar.commons-collections.jar Spring完全抛 ...
- 如何正确使用const、static、extern
转自:http://www.jianshu.com/p/2fd58ed2cf55 前言 本篇文章主要介绍在开发中怎么使用const.static.extern关键字. 一.const 与宏的区别: c ...
- 树莓派初体验,安装Ubuntu 14.04 LTS
转载自:http://www.polarxiong.com/archives/%E6%A0%91%E8%8E%93%E6%B4%BE%E5%88%9D%E4%BD%93%E9%AA%8C-%E5%AE ...
- 获取imageView的图和背景图
img1和img2都是ImageView,要把img1中的图片显示到img2中 前景(对应src属性) img2.setImageDrawable(img1.getDrawable()); 背景(对应 ...
- windows平台下 c/c++进行http通信的教训
由于需要使用c++开发一个桌面应用软件,需要用到http请求进行通讯,也是本人第一次进行网络相关的开发工作,遇到了不少坑. 由于是在windows下开发和使用的应用软件,自然而然想到了调用Window ...
- numpy教程:排序、搜索和计数
http://blog.csdn.net/pipisorry/article/details/51822775 numpy排序.搜索和计数函数和方法.(重新整合过的) ],, , ], [, , ]] ...
- UE4 C++与蓝图交互
一.C++调用蓝图的函数 本来应该有一个很好的示例,但一下却忘了适用于哪些地方,只有简单写一个步骤了. 1.新建一个C++类继承Actor,名称随意,我这里继承了一个SplineMesh,一样de,并 ...