Посетитель под ником Dyr решил протестировать производительность MySQL 5.0.20 на разных машинах и с разными настройками FreeBSD.
В первой части (http://www.opennet.ru/base/sys/sysbench_mysql.txt.html) тестирования оценивается производительность сервера на базе двуядерного процессора Intel Pentium D 820 (2,8GHz), с включенным SMP и без.URL: http://www.opennet.ru/base/sys/sysbench_mysql.txt.html
Новость: http://www.opennet.ru/opennews/art.shtml?num=7389
Эм... Таки DualCore или HTT-capable?Что тестили-то? По описанию получается, что HyperThreading.
У меня Pentium D как два физических процессора выглядит. HTT в Pentium D не включается и machdep.hyperthreading_allowed дергать смысла нет. Нужно было собрать два ядра с SMP и без.
>У меня Pentium D как два физических процессора выглядит. HTT в Pentium
>D не включается и machdep.hyperthreading_allowed дергать смысла нет.
Можно пример в студию?
>Нужно было собрать два ядра с SMP и без.
Да не вопрос. Уже тестирую...
похоже, что тестили smp систему с включенным HT и с выключенным.
То что htt на smp-системах может дать провал производительности - факт давно известный.
В процессоре Intel Pentium D 820 нет HyperThreading,
там именно два ядра...
Ага. А детектятся они ядром как таки HyperThreading Logical CPUs. И лочатся/разлочиваются по sysctl machdep.hyperthreading_allowed, да?
>Ага. А детектятся они ядром как таки HyperThreading Logical CPUs. И лочатся/разлочиваются
>по sysctl machdep.hyperthreading_allowed, да?Как HyperThreading детектится HTT бит, он как бы есть, но включать бесполезно, так как в PentiumD заблокирован. К DualCore это не имеет ни малейшего отношения, если бы включился HTT - было бы видно 4 лгических процессора, а не два.
Ладно, для непонятливых _цитирую_ статью:
> Включение и выключение SMP осуществляется путём изменения machdep.hyperthreading_allowed.Так понятнее, что именно тестировалось, включалось/выключалось и почему к DualCore ни малейшего отношения не имеет (в смысле сравнения)?
>> Включение и выключение SMP осуществляется путём изменения machdep.hyperthreading_allowed.
>
>Так понятнее, что именно тестировалось, включалось/выключалось и почему к DualCore ни малейшего
>отношения не имеет (в смысле сравнения)?machdep.hyperthreading_allowed включает/выключает HyperThreading и не влияет на работу физических процессоров в SMP системе, у автора статьи HyperThreading _всегда_ был выключен, а DualCore выглядел как два физических CPU, независимо от того что он ставил в machdep.hyperthreading_allowed. Теперь понятно ?
В общем, спор ни о чём. По типу:
- Да говорю Вам, переходить улицу можно только на _зеленый_ сигнал светофора!!!
- Да как Вы не понимаете!? Я Вам говорю, что нельзя переходить на красный!!!
Нашел, это бага с отображением в dmesg во FreeBSD 5 и 6, в 7.0 обещают поправить.
Во FreeBSD "core" как "logical" выводятся.
>Ага. А детектятся они ядром как таки HyperThreading Logical CPUs. И лочатся/разлочиваются
>по sysctl machdep.hyperthreading_allowed, да?
Да!
Как говорится, не верите - проверьте сами.
Ещё один кривой тест :-\
Ну как можно мерять _транзакции_ в секунду на MyISAM??
Да и тестили (как правильно было замеченно) HTT.
Блин, ребят, какие HTT. Это багофича фри, она физические ядра выводит как HTT. Причём и AMD64 тоже.Продолжение тестирования здесь: http://community.livejournal.com/ru_root/684224.html
Начало здесь: http://community.livejournal.com/ru_root/682449.html#cutid1
Тому, кто написал про _транзакции_ на MyISAM - не заостряйтесь на терминах, почитатайте sysbench документацию. Так чётко описаны запросы, которые делаются к базе. Уберите термин - останется суть. "Скорость выполнения простых SQL-запросов", так лучше?
Не говоря уж о том, что специально для сомневающихся, что это два ядра, привёл вывод 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
Не ну так это... Таки Core вырубается по machdep.hyperthreading_allowed что ли? Или таки посредством machdep.hlt_cpus?
Даже не, sysctl там не обойтись. Кажется для выруба Core надо вырубить SMP в ядре.
Для полного "выруба" - возможно. Факт состоит в том, что без включения "machdep.h..." top, например, не показывал распределение по процессорам, считая, что он один. И остальные утилиты тоже видели только один проц.
не знаю как mysql, а вот фрю автор явно готовить не умеет...
в ядре куча всего лишнего. Кому нужен нетграф на БД???
Автор, выбрось лишнее, это вероятнее всего и дает проблемы с крэшем.
По использованию сата винтов....
для проверки влияния СМП'шности конечно значения не имеет, но эти винты совершенно не предназначены для многопоточности. се ля ви.
Далее, что значит три теста и осреднение? мы чо тестируем процессор???
А как на счет кеширования? Первый запуск будет самым медленным, вот его и приводи.короче: круглый юзер в вакууме. бред.
>не знаю как mysql, а вот фрю автор явно готовить не умеет...
>
>в ядре куча всего лишнего. Кому нужен нетграф на БД???
Блин, мне нужен. Потому что помимо БД, там будет роутинг. Давай-те не трогать netgraph, тем более, что во время теста он был не задействован. И про "кучу всего лишнего" тоже сказок не надо...>Автор, выбрось лишнее, это вероятнее всего и дает проблемы с крэшем.
>По использованию сата винтов....
>для проверки влияния СМП'шности конечно значения не имеет, но эти винты совершенно
>не предназначены для многопоточности. се ля ви.
Это, простите, как? Вы имеете в виду, не умеют упорядочивать очереди запросов? Так SATA-II уже умеет, к сведению. Это раз. И два - я тестирую обычную среднюю конфигурацию, которой пользуется большинство средних размеров предприятия.>Далее, что значит три теста и осреднение? мы чо тестируем процессор???
Идите учить матчасть. Методика тестирования ВСЕГДА предполагает проведение нескольких серий и усреднения результатов.>А как на счет кеширования? Первый запуск будет самым медленным, вот его
>и приводи.
Читайте документацию на sysbench и скрипт. Во-первых, "первый запуск" там приведён, во-вторых, он делает cleanup таблицы.>короче: круглый юзер в вакууме. бред.
Ну-ну. "Критикуя - предлагай".
>Это, простите, как? Вы имеете в виду, не умеют упорядочивать очереди запросов?
>Так SATA-II уже умеет, к сведению. Это раз.
SATA умеет. Но, я, купив SATA300 + Primise TX2300 оба с NCQ, с удивлением обнаружил, что FreeBSD 6.0 чихать хотела на SATA300 и определяла всё как SATA150. Только в 6.1 ata_control начал корректно определять чип и SATA300. Но вот какой режим используется, задействован ли NCQ - тайна. При запросе в каком режиме работает винт (UDMA100,66 PIO и пр.) выводится ???.
Стоит только надеяться, что все режимы задействованы.
Или узнавать регистры по спецификациям, чтобы проверять это дебагами.А вообщет
Призываю по возможности повторить опыты автора другими участниками на основании его скриптов, указав свою конфигурацию. Лучше уж практика чем теория.
thread_cache надо больше ставить в my.cnf для этого теста.
А вообще крайне странные результаты - не должно такого быть. Это с libthr подлинковывается? И таймер какой используется?
>thread_cache надо больше ставить в my.cnf для этого теста.
Я брал параметры из huge.cnf, насколько мне не изменяет память.>А вообще крайне странные результаты - не должно такого быть.
М-м-м... Сложно сказать, насколько это странные.>Это с libthr подлинковывается? И таймер какой используется?
Я привёл все конфиги MySQL и ядра.
Кстати, а не пробовали SCHED_4BSD vs SCHED_ULE на SMP?
>Кстати, а не пробовали SCHED_4BSD vs SCHED_ULE на SMP?
Пробовал.
Более того, попробовал их даже на NoSMP =)Сейчас готовлю результаты к публикации...
Сводная компиляция результатов моих тестов здесь:
http://www.ozerki.net/~dyr/benchmark.htmlЗаранее извиняюсь за HTML - это Майкрософтовский Excel, мне было лень заморачиваться с оформлением.
>Сводная компиляция результатов моих тестов здесь:
>http://www.ozerki.net/~dyr/benchmark.html
>
>Заранее извиняюсь за HTML - это Майкрософтовский Excel, мне было лень заморачиваться
>с оформлением.закладки с низу не пашут...
Странно - проверил в Опере и в IE, работают.
Ох уж этот MS HTML...
Попробуй потестить libthr by David Xu :)
По тестам фряшного коммитера поддаёт к perfomance процентов 20-30 =)