压力测试工具Benchmark

标签: 压力测试 工具 benchmark | 发表时间:2014-11-24 15:40 | 作者:rensanning
出处:http://www.iteye.com
(1)WEB服务

ab(Apache Bench)
使用:
引用
$ ab -n 100000 -c 100 -t 1 -k http://127.0.0.1:8080/

结果:
引用
Concurrency Level:      100
Time taken for tests:   1.000 seconds
Complete requests:      11996
Failed requests:        0
Write errors:           0
Keep-Alive requests:    11923
Total transferred:      10184239 bytes
HTML transferred:       7341552 bytes
Requests per second:    11996.00 [#/sec] (mean)
Time per request:       8.336 [ms] (mean)
Time per request:       0.083 [ms] (mean, across all concurrent requests)
Transfer rate:          9945.55 [Kbytes/sec] received


Weighttp
使用:
引用
$ weighttp -n 10000 -c 1000 -t 4 -k http://127.0.0.1:8080/

结果:
引用
finished in 1 sec, 707 millisec and 611 microsec, 5856 req/s, 1847 kbyte/s
requests: 10000 total, 10000 started, 10000 done, 10000 succeeded, 0 failed, 0 errored
status codes: 10000 2xx, 0 3xx, 0 4xx, 0 5xx
traffic: 3230000 bytes total, 1720000 bytes http, 1510000 bytes data


wrk

使用:
引用
$ wrk -t12 -c400 -d30s http://127.0.0.1:8080/index.html

结果:
引用
Running 30s test @ http://127.0.0.1:8080/index.html
    12 threads and 400 connections
    Thread Stats   Avg      Stdev     Max   +/- Stdev
      Latency   635.91us    0.89ms  12.92ms   93.69%
      Req/Sec    56.20k     8.07k   62.00k    86.54%
    22464657 requests in 30.00s, 17.76GB read
  Requests/sec: 748868.53
  Transfer/sec:    606.33MB


httperf

使用:
引用
$ httperf --server=127.0.0.1 --port=8080 --rate=100 --num-conns=100 --num-calls=100000 --timeout=5 --hog --uri=/

结果:
引用
Maximum connect burst length: 1

Total: connections 10 requests 10 replies 10 test-duration 9.286 s

Connection rate: 1.1 conn/s (928.6 ms/conn, <=1 concurrent connections)
Connection time [ms]: min 284.2 avg 303.2 max 376.2 median 284.5 stddev 38.4
Connection time [ms]: connect 91.8
Connection length [replies/conn]: 1.000

Request rate: 1.1 req/s (928.6 ms/req)
Request size : 68.0

Reply rate [replies/s]: min 1.0 avg 1.0 max 1.0 stddev 0.0 (1 samples)
Reply time [ms]: response 99.1 transfer 112.3
Reply size [B]: header 241.0 content 29147.0 footer 0.0 (total 29388.0)
Reply status: 1xx=0 2xx=10 3xx=0 4xx=0 5xx=0

CPU time [s]: user 1.99 system 7.27 (user 21.5% system 78.3% total 99.7%)
Net I/O: 31.0 KB/s (0.3*10^6 bps)

Errors: total 0 client-timo 0 socket-timo 0 connrefused 0 connreset 0
Errors: fd-unavail 0 addrunavail 0 ftab-full 0 other 0


[b](2)数据库

SysBench
使用:
引用
$ sysbench --test=oltp --db-driver=mysql --mysql-password=sbtest prepare
$ sysbench --test=oltp --db-driver=mysql --mysql-password=sbtest run

结果:
引用
sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1

Doing OLTP test.
Running mixed OLTP test
Using Special distribution (12 iterations,  1 pct of values are returned in 75 pct cases)
Using "BEGIN" for starting transactions
Using auto_inc on the id column
Maximum number of requests for OLTP test is limited to 10000
Threads started!
Done.

OLTP test statistics:
    queries performed:
        read:                            140000
        write:                           50000
        other:                           20000
        total:                           210000
    transactions:                        10000  (25.72 per sec.)
    deadlocks:                           0      (0.00 per sec.)
    read/write requests:                 190000 (488.63 per sec.)
    other operations:                    20000  (51.43 per sec.)

Test execution summary:
    total time:                          388.8436s
    total number of events:              10000
    total time taken by event execution: 388.7773
    per-request statistics:
         min:                                 28.61ms
         avg:                                 38.88ms
         max:                                178.72ms
         approx.  95 percentile:              44.83ms

Threads fairness:
    events (avg/stddev):           10000.0000/0.00
    execution time (avg/stddev):   388.7773/0.00


pgbench
使用:
引用
$ pgbench -i testdb
$ pgbench -c 10 -t 1000 testdb

结果:
引用
starting vacuum...end.
transaction type: TPC-B (sort of)
scaling factor: 1
query mode: simple
number of clients: 10
number of transactions per client: 1000
number of transactions actually processed: 10000/10000
tps = 657.505424 (including connections establishing)
tps = 659.935326 (excluding connections establishing)


参考:
http://gwan.com/en_apachebench_httperf.html
http://d.hatena.ne.jp/sh2/20120723
http://www.aikaiyuan.com/7569.html
http://en.wikipedia.org/wiki/Transaction_Processing_Performance_Council

已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [压力测试 工具 benchmark] 推荐:

压力测试工具Benchmark

- - 企业架构 - ITeye博客
已有 0 人发表留言,猛击->> 这里<<-参与讨论. —软件人才免语言低担保 赴美带薪读研.

十款免费的Web压力测试工具简介

- - 服务器运维与网站架构|Linux运维|互联网研究
下面是十个免费的可以用来进行Web的负载/压力测试的工具,这样,你就可以知道你的服务器以及你的WEB应用能够顶得住多少的并发量,以及你的网站的性能. Grinder –  Grinder是一个开源的JVM负载测试框架,它通过很多负载注射器来为分布式测试提供了便利. 支持用于执行测试脚本的Jython脚本引擎HTTP测试可通过HTTP代理进行管理.

(总结)Web性能压力测试工具之ApacheBench(ab)详解

- - 服务器运维与网站架构|Linux运维|互联网研究
PS:网站性能压力测试是性能调优过程中必不可少的一环. 只有让服务器处在高压情况下才能真正体现出各种设置所暴露的问题. Apache中有个自带的,名为ab的程序,可以对Apache或其它类型的服务器进行网站访问压力测试. ApacheBench命令原理:. ab命令会创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问.

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

- - 服务器运维与网站架构|Linux运维|互联网研究
PS:在运维工作中,压力测试是一项很重要的工作. 比如在一个网站上线之前,能承受多大访问量、在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验. 但是,在压力测试中存在一个共性,那就是压力测试的结果与实际负载结果不会完全相同,就算压力测试工作做的再好,也不能保证100%和线上性能指标相同.

XMPP、HTTP 模拟压力测试工具 Tsung 教程

- - CSDN博客推荐文章
由于需要erlang支持,那么下载erlang-R14B04. 使用该脚本测试的时候,要禁用XMPP服务器的auth验证模块,不然账号密码不对,登陆不进去. 单个IP的端口65535的问题导致单个机器模拟的连接数有限,这个问题我没解决,只能通过使用很多机器都开这个服务来解决. 作者:smm11230704 发表于2012-4-17 3:21:36 原文链接.

apache自带的ab压力测试工具用法详解

- - CSDN博客系统运维推荐文章
ab是apache自带的一个很好用的压力测试工具,当安装完apache的时候,就可以在bin下面找到ab. 1 我们可以模拟100个并发用户,对一个页面发送1000个请求. 其中-n代表请求数,-c代表并发数. ##首先是apache的版本信息. Server Software:        Apache/2.2.19    ##apache版本.

压力测试工具集合【ab,webbench,Siege,http_load,Web Application Stress】

- - 小彰
-------------------------------------------------- 1 Apache附带的工具ab. ab的全称是ApacheBench,是Apache附带的一个小工具,专门用于HTTP Server的benchmark testing,可以同时模拟多个并发请求.

分布式TCP压力测试工具 tcpcopy

- - haohtml's blog
tcpcopy是一种应用请求复制(基于tcp的packets)工具,其应用领域较广,我们曾经应用于网易的广告投放系统,urs系统,nginx hmux协议开发等系统,避免了上线带来的很多问题. 总体说来,tcpcopy主要有如下功能:. 1)分布式压力测试工具,利用在线数据,可以测试系统能够承受的压力大小(远比ab压力测试工具真实地多),也可以提前发现一些bug.

Apache的压力测试工具及OB缓存

- - BlogJava-qileilove
压力测试这方面还是特别方便的,apache里就直接由这样的工具而且使用方便,在这之前我们需要了解apache使用的是那种并发机制.    1.查看apache使用的是那种并发模型.   可以直接通过cmd进入apache的bin目录 ,使用httpd.exe -l即可.   找到mpm,后面的winnt就是并发模型.