如何结合gnuplot中的多个列和文件的情节? – 绘制基准testing结果

我使用autobench工具(引擎盖下的httperf)对两个不同的负载平衡器(Apache和Haproxy)进行了基准testing。 我的基准testing是使用第一台2,4和6台后端Web服务器完成的。 所以我有6个不同的结果,我想要绘制。

问题是,我想做一个单一的图表,我可以看到他们之间的相互关系,而不是有6个graphics和比较它们。 它使得它更直观,必须看一个。 我曾试图用Excel做到这一点,但没有pipe理使它容易理解。 你们有没有提示如何将它们合并为一个?

我想比较的结果是

  • 请求率

  • 平均回应率

  • 最低回复率

  • 最大响应率

  • 响应时间

  • 错误

我将在这里粘贴两个Web服务器的结果:

2个Web服务器:

阿帕奇:

dem_req_rate req_rate_10.0.33.22 con_rate_10.0.33.22 min_rep_rate_10.0.33.22 avg_rep_rate_10.0.33.22 max_rep_rate_10.0.33.22 stddev_rep_rate_10.0.33.22 resp_time_10.0.33.22 net_io_10.0.33.22 errors_10.0.33.22 200 200.0 20.0 200.0 200.0 200.0 0.0 2.1 103.7 0 400 400.0 40.0 399.4 400.0 401.0 0.4 2.0 207.4 0 600 600.0 60.0 599.4 600.0 600.8 0.4 1.9 311.1 0 800 799.9 80.0 799.0 799.9 800.9 0.6 1.9 414.8 0 1000 999.9 100.0 997.5 999.9 1002.7 1.6 1.9 518.5 0 1200 756.5 120.0 120.0 680.2 1201.1 502.6 2.0 353.5 7.90239227899654 1400 1188.0 140.0 469.8 1181.8 1401.1 348.6 2.5 597.2 2.31789676796913 1600 982.8 159.9 160.0 877.0 1601.7 785.5 1.9 455.8 8.50665630848547 1800 1132.4 180.0 180.0 1144.6 1799.3 686.0 9.7 528.4 8.01992100291946 2000 974.8 199.9 200.0 846.5 2000.1 894.8 2.1 416.0 15.1166084411293 

HAProxy的

 dem_req_rate req_rate_10.0.33.21 con_rate_10.0.33.21 min_rep_rate_10.0.33.21 avg_rep_rate_10.0.33.21 max_rep_rate_10.0.33.21 stddev_rep_rate_10.0.33.21 resp_time_10.0.33.21 net_io_10.0.33.21 errors_10.0.33.21 200 200.0 20.0 200.0 200.0 200.0 0.0 1.0 103.7 0 400 400.0 40.0 399.4 400.0 400.0 0.1 1.0 207.4 0 600 600.0 60.0 599.2 600.0 600.8 0.3 1.0 311.1 0 800 800.0 80.0 799.1 799.9 801.1 0.6 1.0 414.9 0 1000 1000.0 100.0 998.7 1000.0 1001.5 0.8 1.0 518.6 0 1200 1199.9 120.0 1199.1 1199.9 1200.5 0.5 1.0 622.2 0 1400 1399.9 140.0 1398.5 1399.8 1400.5 0.7 1.0 725.9 0 1600 1599.8 160.0 1598.3 1599.8 1600.1 0.7 1.0 829.6 0 1800 1799.7 180.0 1798.3 1799.7 1800.1 0.8 1.0 933.2 0 2000 1999.3 199.9 1998.1 1999.5 2001.3 1.2 1.0 1036.7 0 

你为什么到处逗号? 它们应该是小数点吗? 你能告诉我们更多关于数据格式的信息吗? 什么是“7,902392279”? 是7.902392279?

我认为gnuplot正在做下面的正确的事情。 但仔细检查你的情节,以确保预计值已被拉入每一列。 请参阅datafile / Datastrings手册http://www.gnuplot.info/docs_5.0/gnuplot.pdf

无论如何,。 。 。 现在忽略这个问题。 。 。 。 >; – ]

并回答如何将数据合并成一个情节的问题。 。 。

结果在两个单独的数据文件,你可以结合这样的情节:

 plot \ "ikpapache.dat" using :1 title "ap rr", \ "ikphaproxy.dat" using :1 title "ha rr" 
  • 您的数据文件有不同的列。 因此,添加适当的列号和标题的每个小区。

  • 你可以用线条点/线来修饰,你应该设置颜色和标记,这样你可以更容易地比较相同的参数。

  • 你可以在gnuplot中使用()来进行计算并手动标准化数据,例如,调出rt:($ 5 * 200)和Errs的值,以便在图上看到它。

绘制每一列:

 plot \ "ikpapache.dat" using :1 with linespoints axes x1y1 title "ap rr", \ "ikphaproxy.dat" using :1 with linespoints axes x1y1 title "ha rr", \ "ikphaproxy.dat" using :2 with lines axes x1y1 title "ha cr", \ "ikpapache.dat" using :2 with lines axes x1y1 title "ap minrr", \ "ikphaproxy.dat" using :3 with lines axes x1y1 title "ha minrr", \ "ikpapache.dat" using :3 with lines axes x1y1 title "ap avrr", \ "ikphaproxy.dat" using :4 with lines axes x1y1 title "ha avrr", \ "ikpapache.dat" using :4 with lines axes x1y1 title "ap maxrr", \ "ikphaproxy.dat" using :5 with lines axes x1y1 title "ha maxrr", \ "ikphaproxy.dat" using :6 with lines axes x1y1 title "ha stddevrr", \ "ikpapache.dat" using :($5*200) with linespoints axes x1y1 title "ap rt*200", \ "ikphaproxy.dat" using :($7*200) with linespoints axes x1y1 title "ha rt*200", \ "ikphaproxy.dat" using :8 with lines axes x1y1 title "ha ni", \ "ikpapache.dat" using :($6*100) with lines axes x1y1 title "ap Errs*100", \ "ikphaproxy.dat" using :($9*100) with lines axes x1y1 title "ha Errs*100" 

注意在所有情况下,我们正在用X轴暗示数据文件中的0 =行号。 “:1”==“0:1”