Как объединить графики из нескольких столбцов и файлов в gnuplot? - График результатов теста

Я провел сравнительный анализ двух разных балансировщиков нагрузки (Apache и Haproxy) с помощью инструмента AutoBench (httperf под капотом). Мой бенчмаркинг сделан сначала с 2, 4, а затем с 6 внутренними веб-серверами. Таким образом, у меня есть 6 различных результатов, которые я хочу представить на графике.

Проблема в том, что я хочу сделать один график, где я могу видеть корреляцию между ними вместо того, чтобы иметь 6 графиков и сравнивать их. Это делает его более наглядным. Я пытался сделать это с помощью Excel, но мне не удалось облегчить понимание. У кого-нибудь из вас есть советы, как их объединить?

Результаты, которые я хочу сравнить

  • Скорость запроса

  • Средний уровень ответа

  • Минимальная скорость отклика

  • Макс. Скорость отклика

  • Время отклика

  • ошибки

Я вставлю результат с двух веб-серверов здесь:

2 веб-сервера:

Apache:

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

1 ответ

Почему у тебя запятые везде? Должны ли они быть десятичными точками? Можете ли вы рассказать нам больше о формате ваших данных. Что такое "7,902392279"? это 7.902392279?

Я думаю, что gnuplot делает правильные вещи ниже. Но проверьте свой график подробно, чтобы убедиться, что ожидаемые значения были извлечены для каждого столбца. См. Руководство по файлу данных / 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"

Обратите внимание, что во всех случаях здесь мы строим график с осью х, равной 0 = номер строки в файле данных. ":1" == "0:1"

Другие вопросы по тегам