Первоначально опубликовано
В моем предыдущем посте я закончил с графиком с нестабильными результатами. Теперь давайте рассмотрим несколько разных способов представления этих результатов. Мне нравится работать с R, и хотя я даже не настолько хорош в этом, я хочу поделиться некоторыми графиками, которые можно построить с помощью R + ggplot2.
Условия теста те же, что и в предыдущем посте, с той разницей, что результаты для 4 и 16 таблиц работают под управлением MySQL 5.5.20.
Позвольте напомнить вам, как я делаю измерения. Я запускаю тесты в течение 1 часа с измерениями каждые 10 секунд.
Итак, у нас 360 баллов — метрика.
Если мы нарисуем их все, это будет выглядеть так:
Я также покажу мой код R:
m <- ggplot(dv.ver, aes(x = sec, Throughput, color=factor(Tables))) m + geom_point()
Предыдущий график не очень представительный, поэтому мы можем добавить несколько линий, чтобы увидеть тренд.
m + geom_point() + geom_line()
Это выглядит лучше, но все же вам может быть трудно ответить: в каком случае показывается лучшая пропускная способность? какое число мы должны принять за конечный результат?
График джиттера может помочь:
m <- ggplot(dv.ver, aes(x = factor(Tables), Throughput, color=factor(Tables))) m + geom_jitter(alpha=0.75)
С дрожанием мы видим некоторые плотные области, которые показывают «наиболее вероятную» пропускную способность.
Итак, давайте построим графики плотности:
m <- ggplot(dd, aes(x = Throughput,fill=factor(Tables))) m+geom_density(alpha = 0.7)
или же
m+geom_density(alpha = 0.7)+facet_wrap(~Tables,ncol=1)
На этих графиках Ax X представляет собой Пропускную способность, а Ax Y представляет плотность попадания в данную Пропускную способность.
Это может дать вам представление о том, как сравнивать оба результата, и что наибольшая плотность составляет около 3600-3800 т / с.
И мы переходим к числам, мы можем строить боксы:
m <- ggplot(dd, aes(x = factor(Tables),y=Throughput,fill=factor(Tables))) m+geom_boxplot()
Это может быть нелегко читать, если вы никогда не видели коробок. Это хороший способ представления данных . Короче говоря, средняя линия внутри прямоугольника — это медиана (линия, которая делит верхние 50% и нижние 50%), линия, ограничивающая верхнюю часть прямоугольника — 75% квантиля (делит 75% нижнего и 25% верхнего результатов), и соответственно — линия внизу окна — квантиль 25% (вы должны уже иметь представление, что это значит). Вы можете решить, какие измерения вы хотите провести, чтобы сравнить результаты — медиана, 75% и т. Д.
И, наконец, мы можем объединить джиттер и boxplot, чтобы получить:
m <- ggplot(dd, aes(x = factor(Tables),y=Throughput,color=factor(Tables))) m+geom_boxplot()+geom_jitter()
Вот и все на сегодня.
Полный скрипт sysbench-4-16.R с данными, которые вы можете получить на стартовой панели тестов
Если вы хотите увидеть больше идей визуализации, вы можете посетить блог Брендана :
- http://dtrace.org/blogs/brendan/2011/12/18/visualizing-device-utilization/
- http://dtrace.org/blogs/brendan/2012/02/06/visualizing-process-snapshots/
- http://dtrace.org/blogs/brendan/2012/02/12/visualizing-process-execution/
И если вам интересно, что делать с такими нестабильными результатами в MySQL, следите за обновлениями. Есть решение.