URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 14908
[ Назад ]

Исходное сообщение
"OpenNews: Тестирование MySQL на DualCore процессоре под FreeBSD 6.0"

Отправлено opennews , 25-Апр-06 12:43 
Посетитель под ником Dyr решил протестировать производительность MySQL 5.0.20 на разных машинах и с  разными настройками FreeBSD.


В первой части (https://www.opennet.ru/base/sys/sysbench_mysql.txt.html) тестирования оценивается производительность сервера на базе двуядерного процессора Intel Pentium D 820 (2,8GHz), с включенным SMP и без.

URL: https://www.opennet.ru/base/sys/sysbench_mysql.txt.html
Новость: https://www.opennet.ru/opennews/art.shtml?num=7389


Содержание

Сообщения в этом обсуждении
"Тестирование MySQL на DualCore процессоре под FreeBSD 6.0"
Отправлено GateKeeper , 25-Апр-06 12:43 
Эм... Таки DualCore или HTT-capable?

Что тестили-то? По описанию получается, что HyperThreading.


"Тестирование MySQL на DualCore процессоре под FreeBSD 6.0"
Отправлено Аноним , 25-Апр-06 12:56 
У меня Pentium D как два физических процессора выглядит. HTT в Pentium D не включается и machdep.hyperthreading_allowed дергать смысла нет. Нужно было собрать два ядра с SMP и без.

"Тестирование MySQL на DualCore процессоре под FreeBSD 6.0"
Отправлено Dyr , 25-Апр-06 17:00 
>У меня Pentium D как два физических процессора выглядит. HTT в Pentium
>D не включается и machdep.hyperthreading_allowed дергать смысла нет.
Можно пример в студию?
>Нужно было собрать два ядра с SMP и без.
Да не вопрос. Уже тестирую...


"Тестирование MySQL на DualCore процессоре под FreeBSD 6.0"
Отправлено MaximMoroz , 25-Апр-06 13:02 
похоже, что тестили smp систему с включенным HT и с выключенным.

"Тестирование MySQL на DualCore процессоре под FreeBSD 6.0"
Отправлено Аноним , 25-Апр-06 13:23 
То что htt на smp-системах может дать провал производительности - факт давно известный.

"Тестирование MySQL на DualCore процессоре под FreeBSD 6.0"
Отправлено aurved , 25-Апр-06 13:39 
В процессоре Intel Pentium D 820 нет HyperThreading,
там именно два ядра...

"Тестирование MySQL на DualCore процессоре под FreeBSD 6.0"
Отправлено GateKeeper , 25-Апр-06 13:55 
Ага. А детектятся они ядром как таки HyperThreading Logical CPUs. И лочатся/разлочиваются по sysctl machdep.hyperthreading_allowed, да?

"Тестирование MySQL на DualCore процессоре под FreeBSD 6.0"
Отправлено Аноним , 25-Апр-06 14:42 
>Ага. А детектятся они ядром как таки HyperThreading Logical CPUs. И лочатся/разлочиваются
>по sysctl machdep.hyperthreading_allowed, да?

Как HyperThreading детектится HTT бит, он как бы есть, но включать бесполезно, так как в PentiumD заблокирован. К DualCore это не имеет ни малейшего отношения, если бы включился HTT - было бы видно 4 лгических процессора, а не два.


"Тестирование MySQL на DualCore процессоре под FreeBSD 6.0"
Отправлено GateKeeper , 25-Апр-06 14:53 
Ладно, для непонятливых _цитирую_ статью:
> Включение    и   выключение   SMP   осуществляется   путём   изменения machdep.hyperthreading_allowed.

Так понятнее, что именно тестировалось, включалось/выключалось и почему к DualCore ни малейшего отношения не имеет (в смысле сравнения)?


"Тестирование MySQL на DualCore процессоре под FreeBSD 6.0"
Отправлено Аноним , 25-Апр-06 15:53 
>> Включение    и   выключение   SMP   осуществляется   путём   изменения machdep.hyperthreading_allowed.
>
>Так понятнее, что именно тестировалось, включалось/выключалось и почему к DualCore ни малейшего
>отношения не имеет (в смысле сравнения)?

machdep.hyperthreading_allowed включает/выключает HyperThreading и не влияет на работу физических процессоров в SMP системе, у автора статьи HyperThreading _всегда_ был выключен, а DualCore выглядел как два физических CPU, независимо от того что он ставил в machdep.hyperthreading_allowed. Теперь понятно ?



"Тестирование MySQL на DualCore процессоре под FreeBSD 6.0"
Отправлено GateKeeper , 25-Апр-06 16:15 
В общем, спор ни о чём. По типу:
- Да говорю Вам, переходить улицу можно только на _зеленый_ сигнал светофора!!!
- Да как Вы не понимаете!? Я Вам говорю, что нельзя переходить на красный!!!

"Тестирование MySQL на DualCore процессоре под FreeBSD 6.0"
Отправлено Аноним , 25-Апр-06 14:45 
Нашел, это бага с отображением в dmesg во FreeBSD 5 и 6, в 7.0 обещают поправить.
Во FreeBSD "core" как "logical" выводятся.

"Тестирование MySQL на DualCore процессоре под FreeBSD 6.0"
Отправлено Dyr , 25-Апр-06 16:58 
>Ага. А детектятся они ядром как таки HyperThreading Logical CPUs. И лочатся/разлочиваются
>по sysctl machdep.hyperthreading_allowed, да?
Да!
Как говорится, не верите - проверьте сами.

"Тестирование MySQL на DualCore процессоре под FreeBSD 6.0"
Отправлено nblx , 25-Апр-06 14:55 
Ещё один кривой тест :-\
Ну как можно мерять _транзакции_ в секунду на MyISAM??
Да и тестили (как правильно было замеченно) HTT.


"Тестирование MySQL на DualCore процессоре под FreeBSD 6.0"
Отправлено Dyr , 25-Апр-06 16:47 
Блин, ребят, какие HTT. Это багофича фри, она физические ядра выводит как HTT. Причём и AMD64 тоже.

Продолжение тестирования здесь: http://community.livejournal.com/ru_root/684224.html

Начало здесь: http://community.livejournal.com/ru_root/682449.html#cutid1

Тому, кто написал про _транзакции_ на MyISAM - не заостряйтесь на терминах, почитатайте sysbench документацию. Так чётко описаны запросы, которые делаются к базе. Уберите термин - останется суть. "Скорость выполнения простых SQL-запросов", так лучше?


"Тестирование MySQL на DualCore процессоре под FreeBSD 6.0"
Отправлено Dyr , 25-Апр-06 16:50 
Не говоря уж о том, что специально для сомневающихся, что это два ядра, привёл вывод sysctl -a | grep -a cpu:

kern.threads.virtual_cpu: 2
kern.ccpu: 1948
kern.smp.cpus: 2
kern.smp.maxcpus: 16
debug.cpufreq.verbose: 0
debug.cpufreq.lowest: 0
debug.kdb.stop_cpus: 1
debug.PMAP1changedcpu: 23
hw.ncpu: 2
hw.acpi.cpu.cx_supported: C1/0
hw.acpi.cpu.cx_lowest: C1
hw.acpi.cpu.cx_usage: 100.00%
machdep.cpu_idle_hlt: 1
machdep.hlt_cpus: 0
machdep.hlt_logical_cpus: 0
machdep.logical_cpus_mask: 2
dev.cpu.0.%desc: ACPI CPU
dev.cpu.0.%driver: cpu
dev.cpu.0.%location: handle=\_PR_.CPU0
dev.cpu.0.%pnpinfo: _HID=none _UID=0
dev.cpu.0.%parent: acpi0
dev.cpu.1.%desc: ACPI CPU
dev.cpu.1.%driver: cpu
dev.cpu.1.%location: handle=\_PR_.CPU1
dev.cpu.1.%pnpinfo: _HID=none _UID=0
dev.cpu.1.%parent: acpi0


"Тестирование MySQL на DualCore процессоре под FreeBSD 6.0"
Отправлено GateKeeper , 25-Апр-06 16:50 
Не ну так это... Таки Core вырубается по machdep.hyperthreading_allowed что ли? Или таки посредством machdep.hlt_cpus?

"Тестирование MySQL на DualCore процессоре под FreeBSD 6.0"
Отправлено GateKeeper , 25-Апр-06 16:52 
Даже не, sysctl там не обойтись. Кажется для выруба Core надо вырубить SMP в ядре.

"Тестирование MySQL на DualCore процессоре под FreeBSD 6.0"
Отправлено Dyr , 25-Апр-06 16:57 
Для полного "выруба" - возможно. Факт состоит в том, что без включения "machdep.h..." top, например, не показывал распределение по процессорам, считая, что он один. И остальные утилиты тоже видели только один проц.

"Тестирование MySQL на DualCore процессоре под FreeBSD 6.0"
Отправлено gvf , 25-Апр-06 20:12 
не знаю как mysql, а вот фрю автор явно готовить не умеет...
в ядре куча всего лишнего. Кому нужен нетграф на БД???
Автор, выбрось лишнее, это вероятнее всего и дает проблемы с крэшем.
По использованию сата винтов....
для проверки влияния СМП'шности конечно значения не имеет, но эти винты совершенно не предназначены для многопоточности. се ля ви.
Далее, что значит три теста и осреднение? мы чо тестируем процессор???
А как на счет кеширования? Первый запуск будет самым медленным, вот его и приводи.

короче: круглый юзер в вакууме. бред.


"Тестирование MySQL на DualCore процессоре под FreeBSD 6.0"
Отправлено Dyr , 26-Апр-06 01:38 
>не знаю как mysql, а вот фрю автор явно готовить не умеет...
>
>в ядре куча всего лишнего. Кому нужен нетграф на БД???
Блин, мне нужен. Потому что помимо БД, там будет роутинг. Давай-те не трогать netgraph, тем более, что во время теста он был не задействован. И про "кучу всего лишнего" тоже сказок не надо...

>Автор, выбрось лишнее, это вероятнее всего и дает проблемы с крэшем.
>По использованию сата винтов....
>для проверки влияния СМП'шности конечно значения не имеет, но эти винты совершенно
>не предназначены для многопоточности. се ля ви.
Это, простите, как? Вы имеете в виду, не умеют упорядочивать очереди запросов? Так SATA-II уже умеет, к сведению. Это раз. И два - я тестирую обычную среднюю конфигурацию, которой пользуется большинство средних размеров предприятия.

>Далее, что значит три теста и осреднение? мы чо тестируем процессор???
Идите учить матчасть. Методика тестирования ВСЕГДА предполагает проведение нескольких серий и усреднения результатов.

>А как на счет кеширования? Первый запуск будет самым медленным, вот его
>и приводи.
Читайте документацию на sysbench и скрипт. Во-первых, "первый запуск" там приведён, во-вторых, он делает cleanup таблицы.

>короче: круглый юзер в вакууме. бред.
Ну-ну. "Критикуя - предлагай".


"Тестирование MySQL на DualCore процессоре под FreeBSD 6.0"
Отправлено AutopilotNN , 27-Апр-06 14:06 
>Это, простите, как? Вы имеете в виду, не умеют упорядочивать очереди запросов?
>Так SATA-II уже умеет, к сведению. Это раз.
SATA умеет. Но, я, купив SATA300 + Primise TX2300 оба с NCQ, с удивлением обнаружил, что FreeBSD 6.0 чихать хотела на SATA300 и определяла всё как SATA150. Только в 6.1 ata_control начал корректно определять чип и SATA300. Но вот какой режим используется, задействован ли NCQ - тайна. При запросе в каком режиме работает винт (UDMA100,66 PIO и пр.) выводится ???.
Стоит только надеяться, что все режимы задействованы.
Или узнавать регистры по спецификациям, чтобы проверять это дебагами.

А вообщет
Призываю по возможности повторить опыты автора другими участниками на основании его скриптов, указав свою конфигурацию. Лучше уж практика чем теория.


"Тестирование MySQL на DualCore процессоре под FreeBSD 6.0"
Отправлено Алексей , 26-Апр-06 01:18 
thread_cache надо больше ставить в my.cnf для этого теста.
А вообще крайне странные результаты - не должно такого быть. Это с libthr подлинковывается? И таймер какой используется?

"Тестирование MySQL на DualCore процессоре под FreeBSD 6.0"
Отправлено Dyr , 26-Апр-06 01:39 
>thread_cache надо больше ставить в my.cnf для этого теста.
Я брал параметры из huge.cnf, насколько мне не изменяет память.

>А вообще крайне странные результаты - не должно такого быть.
М-м-м... Сложно сказать, насколько это странные.

>Это с libthr подлинковывается? И таймер какой используется?
Я привёл все конфиги MySQL и ядра.



"OpenNews: Тестирование MySQL на DualCore процессоре под Free..."
Отправлено fvl , 27-Апр-06 06:22 
Кстати, а не пробовали SCHED_4BSD vs SCHED_ULE на SMP?

"OpenNews: Тестирование MySQL на DualCore процессоре под Free..."
Отправлено Dyr , 27-Апр-06 08:25 
>Кстати, а не пробовали SCHED_4BSD vs SCHED_ULE на SMP?
Пробовал.
Более того, попробовал их даже на NoSMP =)

Сейчас готовлю результаты к публикации...


"OpenNews: Тестирование MySQL на DualCore процессоре под Free..."
Отправлено Dyr , 27-Апр-06 09:36 
Сводная компиляция результатов моих тестов здесь:
http://www.ozerki.net/~dyr/benchmark.html

Заранее извиняюсь за HTML - это Майкрософтовский Excel, мне было лень заморачиваться с оформлением.


"OpenNews: Тестирование MySQL на DualCore процессоре под Free..."
Отправлено fvl , 27-Апр-06 09:42 
>Сводная компиляция результатов моих тестов здесь:
>http://www.ozerki.net/~dyr/benchmark.html
>
>Заранее извиняюсь за HTML - это Майкрософтовский Excel, мне было лень заморачиваться
>с оформлением.

закладки с низу не пашут...


"OpenNews: Тестирование MySQL на DualCore процессоре под Free..."
Отправлено Dyr , 27-Апр-06 10:03 
Странно - проверил в Опере и в IE, работают.
Ох уж этот MS HTML...

"OpenNews: Тестирование MySQL на DualCore процессоре под Free..."
Отправлено smb , 28-Апр-06 00:24 
Попробуй потестить libthr by David Xu :)
По тестам фряшного коммитера поддаёт к perfomance процентов 20-30 =)