`
cryolite
  • 浏览: 581573 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ab性能测试与gnuplot测试结果绘制

阅读更多
Erlang13A出来后,有人就做了新旧版本的性能测试。作者自己写了小小的Web服务器进行测试,测试工具是apaceh的ab,这是个命令行工具
参考
ab工具可以将测试结果输出到方便gnuplot处理的文本文件中。

方法是使用-g参数其结果可以输出到指定文件

$ab -g result.txt -n 1000 -c 100 http://www.hao123.com/

$ head result.txt 
starttime seconds ctime dtime ttime wait
Thu Mar 19 00:58:35 2009 1237395515 3 5 8 4
Thu Mar 19 00:58:34 2009 1237395514 3 5 8 4
Thu Mar 19 00:58:29 2009 1237395509 3 5 8 4
Thu Mar 19 00:58:34 2009 1237395514 3 5 8 4
Thu Mar 19 00:58:34 2009 1237395514 3 5 8 4
Thu Mar 19 00:58:29 2009 1237395509 3 5 8 4
Thu Mar 19 00:58:34 2009 1237395514 3 5 8 4
Thu Mar 19 00:58:35 2009 1237395515 3 5 8 4
Thu Mar 19 00:58:34 2009 1237395514 3 5 8 4

每一行代表一个请求,被空格划分成10个column,我们关心的是第7、8、9、10行的数据,分别代表:
ctime:connection time
dtime: processing time
ttime: total time, = connection time + processing time
wait:wait time

$ gnuplot
set terminal png
set output "http_benchmark.png"
set xlabel "request"
set ylabel "ms"
plot "http_benchmark.txt" using 7 with lines title "ctime", \
"http_benchmark.txt" using 8 with lines title "dtime", \
"http_benchmark.txt" using 9 with lines title "ttime", \
"http_benchmark.txt" using 10 with lines title "wait"

Lies, Damned Lies, and Benchmarks中的数据不是直接来自-g参数生成的文件,每次ab执行完后会打印此次测试的概要:
Server Software:       
Server Hostname:        127.0.0.1
Server Port:            8889

Document Path:          /
Document Length:        1 bytes

Concurrency Level:      10
Time taken for tests:   14.004 seconds
Complete requests:      10000
Failed requests:        0
Write errors:           0
Total transferred:      390000 bytes
HTML transferred:       10000 bytes
Requests per second:    714.09 [#/sec] (mean)[color=red][/color]
Time per request:       14.004 [ms] (mean)
Time per request:       1.400 [ms] (mean, across all concurrent requests)
Transfer rate:          27.20 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0   11 347.8      0   11005
Processing:     0    3  11.5      2     443
Waiting:        0    2  11.5      2     443
Total:          0   14 348.0      2   11012

Percentage of the requests served within a certain time (ms)
  50%      2
  66%      3
  75%      3
  80%      3
  90%      4
  95%      7
  98%     12
  99%     13
100%  11012 (longest request)

每次在不同并发请求下测试每秒能处理的请求数,在不同并发请求情况下多次测试取平均值。

在一张图中表现两条完全不同尺度的曲线的例子:
例如,曲线1的y值范围在1~2间,曲线2的y值范围在0~3000之间
数据例子如下
1701    1076.20 1.277
1751    1111.68 1.280
1801    1145.26 1.283
1851    1170.67 1.279
1901    1213.69 1.292
1951    1236.83 1.282
2001    1273.59 1.284
2051    1309.72 1.283

gnuplot命令如下:
set y2tics 0, 250
set ytics nomirror
plot 'data.txt' using 1:3 with lines,\
'data.txt' using 1:2 axes x1y2 with lines


更多更详细的例子

参考文档:
http://iceskysl.1sters.com/?action=show&id=386
http://www.ibm.com/developerworks/cn/linux/l-gnuplot/index.html
http://www.lotto-kim.net/eng/blog/using_gnuplot_to_show_results_from_ab
分享到:
评论

相关推荐

    gnuplot 4.0 for windows

    Gnuplot不仅在终端环境下运行良好,还可以与许多GUI(图形用户界面)结合,比如在Windows中,它可以与Wingnup或Pgnuplot这样的图形前端配合使用,提供更友好的交互体验。 在"gnuplot 4.0"这个版本中,包含了多项...

    gnuplot

    在实际应用中,Gnuplot常常与编程语言结合使用,比如在Python脚本中调用Gnuplot进行绘图。这种集成可以让用户利用编程语言的强大功能处理数据,再利用Gnuplot的专业绘图能力展示结果。例如,Python的`pygnuplot`库...

    gnuplot-4.4.2.tar.gz

    将gnuplot与fio结合,可以将测试结果可视化,便于分析和理解。用户可以利用gnuplot解析fio的输出数据,生成各种图表,如IOPS、带宽、延迟等指标的图表,使测试结果更加直观易读。 3. **绘图插件特性**:作为绘图...

    Gnuplot简体中文手册

    Gnuplot不仅能够绘制函数图像,还能够处理和可视化复杂的数据集,从而帮助用户进行数据分析和结果展示。 #### 三、获取与安装Gnuplot Gnuplot可从多个源免费下载,适合不同的操作系统。例如,对于Unix系统,可以从...

    Libsvm+gnuplot

    然后,使用Gnuplot对模型的结果进行可视化,如绘制分类边界、误差率等,以便于分析模型的性能和优化方向。在实际操作中,通常会结合脚本语言如Python或Matlab,通过它们调用Libsvm库并利用Gnuplot生成图形,形成自动...

    gnuplot/4.6.0.tar.gz

    gnuplot是一款强大的开源图形绘制工具,主要用于在各种操作系统上创建二维和三维的科学图表。在Linux环境下,gnuplot是科研人员和程序员常用的绘图软件,尤其在数据分析和可视化领域有着广泛的应用。gnuplot/4.6.0....

    gnuplot-5.4.1安装包(64位Windows)及用户手册

    这个安装包提供了便捷的方式,让用户在Windows环境下快速安装gnuplot,从而进行各种图形的绘制。 gnuplot的强大之处在于其灵活性和可定制性。它支持2D和3D图形,包括线图、散点图、柱状图、饼图、曲面图以及等高...

    gnuplot-5.2.8.tar.gz

    gnuplot可以与Canu等生物信息学工具结合使用,帮助分析和可视化组装结果。例如,gnuplot可以用来绘制基因组覆盖度图、错误率分布图,或者用于比较不同组装策略的性能。 在解压“gnuplot-5.2.8.tar.gz”后,用户将...

    002_Visual Studio (gnuplot)显示数组波形.zip

    在C++代码中,我们可以创建一个文本文件(如"1.txt"或"新建文本文档.txt"),将要绘制的数组数据写入该文件,然后在gnuplot中读取并绘制。例如,我们可以使用如下代码片段将数组数据写入文件: ```cpp ofstream ...

    gnuplot的安装调试

    根据提供的标题、描述、标签及部分内容,我们可以总结出关于gnuplot在Linux环境下的安装与配置的相关知识点。本文将详细地介绍gnuplot的安装步骤、环境变量设置以及验证安装是否成功的方法,并简要提及gnuplot在...

    gnuplot必备用法整理

    **Gnuplot**是一款强大的跨平台数据可视化软件,广泛应用于Linux等操作系统下的数据分析与图表绘制工作。它能够生成多种类型的二维及三维图表,并支持丰富的自定义选项。对于从事科学计算、工程分析以及数据可视化...

    demo_gnuplot_DEMO_script_codes_

    "script codes"表明这些文件是可执行的Gnuplot脚本,用户可以直接运行以观察结果。 在“压缩包子文件的文件名称列表”中,我们只有一个名为“demo”的文件。这个文件可能是一个包含多个Gnuplot示例脚本的目录,或者...

    gnuplot4.5

    gnuplot是一款强大的开源命令行图形绘制工具,广泛应用于数据可视化和科学计算领域。它支持在各种操作系统上运行,包括Windows、Linux、Mac OS X等。 gnuplot4.5是该软件的一个版本,提供了丰富的功能和改进,使得...

    gnuplot绘图工具(转)

    下面将详细解析Gnuplot的核心功能与操作技巧。 #### 基本绘图命令 Gnuplot的基本绘图过程通常包含以下步骤: 1. **加载数据或定义函数**:可以是内置数学函数如`sin(x)`,或者外部数据文件。 2. **设置绘图样式**...

    多平台gnuplot安装程序

    - **科研与教学**:在物理学、化学、工程学等领域,gnuplot 可用于数据分析和结果展示,也可作为教学辅助工具。 - **编程接口**:gnuplot 提供了多种语言的接口,如 C、C++、Python 等,方便集成到程序中生成图形。 ...

    gnuplot5.0(windows32+64+帮助文档)

    9. **与其他软件集成**:Gnuplot可以与各种编程语言(如Python、C++、MATLAB等)接口,方便在这些语言中调用Gnuplot进行图形生成。 10. **社区和资源**:Gnuplot有一个活跃的用户社区,提供了大量的教程、示例和...

Global site tag (gtag.js) - Google Analytics