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不仅在终端环境下运行良好,还可以与许多GUI(图形用户界面)结合,比如在Windows中,它可以与Wingnup或Pgnuplot这样的图形前端配合使用,提供更友好的交互体验。 在"gnuplot 4.0"这个版本中,包含了多项...
在实际应用中,Gnuplot常常与编程语言结合使用,比如在Python脚本中调用Gnuplot进行绘图。这种集成可以让用户利用编程语言的强大功能处理数据,再利用Gnuplot的专业绘图能力展示结果。例如,Python的`pygnuplot`库...
将gnuplot与fio结合,可以将测试结果可视化,便于分析和理解。用户可以利用gnuplot解析fio的输出数据,生成各种图表,如IOPS、带宽、延迟等指标的图表,使测试结果更加直观易读。 3. **绘图插件特性**:作为绘图...
Gnuplot不仅能够绘制函数图像,还能够处理和可视化复杂的数据集,从而帮助用户进行数据分析和结果展示。 #### 三、获取与安装Gnuplot Gnuplot可从多个源免费下载,适合不同的操作系统。例如,对于Unix系统,可以从...
然后,使用Gnuplot对模型的结果进行可视化,如绘制分类边界、误差率等,以便于分析模型的性能和优化方向。在实际操作中,通常会结合脚本语言如Python或Matlab,通过它们调用Libsvm库并利用Gnuplot生成图形,形成自动...
gnuplot是一款强大的开源图形绘制工具,主要用于在各种操作系统上创建二维和三维的科学图表。在Linux环境下,gnuplot是科研人员和程序员常用的绘图软件,尤其在数据分析和可视化领域有着广泛的应用。gnuplot/4.6.0....
这个安装包提供了便捷的方式,让用户在Windows环境下快速安装gnuplot,从而进行各种图形的绘制。 gnuplot的强大之处在于其灵活性和可定制性。它支持2D和3D图形,包括线图、散点图、柱状图、饼图、曲面图以及等高...
gnuplot可以与Canu等生物信息学工具结合使用,帮助分析和可视化组装结果。例如,gnuplot可以用来绘制基因组覆盖度图、错误率分布图,或者用于比较不同组装策略的性能。 在解压“gnuplot-5.2.8.tar.gz”后,用户将...
在C++代码中,我们可以创建一个文本文件(如"1.txt"或"新建文本文档.txt"),将要绘制的数组数据写入该文件,然后在gnuplot中读取并绘制。例如,我们可以使用如下代码片段将数组数据写入文件: ```cpp ofstream ...
根据提供的标题、描述、标签及部分内容,我们可以总结出关于gnuplot在Linux环境下的安装与配置的相关知识点。本文将详细地介绍gnuplot的安装步骤、环境变量设置以及验证安装是否成功的方法,并简要提及gnuplot在...
**Gnuplot**是一款强大的跨平台数据可视化软件,广泛应用于Linux等操作系统下的数据分析与图表绘制工作。它能够生成多种类型的二维及三维图表,并支持丰富的自定义选项。对于从事科学计算、工程分析以及数据可视化...
"script codes"表明这些文件是可执行的Gnuplot脚本,用户可以直接运行以观察结果。 在“压缩包子文件的文件名称列表”中,我们只有一个名为“demo”的文件。这个文件可能是一个包含多个Gnuplot示例脚本的目录,或者...
gnuplot是一款强大的开源命令行图形绘制工具,广泛应用于数据可视化和科学计算领域。它支持在各种操作系统上运行,包括Windows、Linux、Mac OS X等。 gnuplot4.5是该软件的一个版本,提供了丰富的功能和改进,使得...
下面将详细解析Gnuplot的核心功能与操作技巧。 #### 基本绘图命令 Gnuplot的基本绘图过程通常包含以下步骤: 1. **加载数据或定义函数**:可以是内置数学函数如`sin(x)`,或者外部数据文件。 2. **设置绘图样式**...
- **科研与教学**:在物理学、化学、工程学等领域,gnuplot 可用于数据分析和结果展示,也可作为教学辅助工具。 - **编程接口**:gnuplot 提供了多种语言的接口,如 C、C++、Python 等,方便集成到程序中生成图形。 ...
9. **与其他软件集成**:Gnuplot可以与各种编程语言(如Python、C++、MATLAB等)接口,方便在这些语言中调用Gnuplot进行图形生成。 10. **社区和资源**:Gnuplot有一个活跃的用户社区,提供了大量的教程、示例和...