Как объединить графики из нескольких столбцов и файлов в 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"