В статье "Using MySQL to benchmark OS performance" рассматривается рациональность использования MySQL к качестве средства для измерения производительности (для тестирования выбраны утилиты SysBench и Super Smack). Приводятся рекомендации по сборке и оптимизации MySQL для разных операционных систем, определяется общая стратегия проведения эксперимента.
Во второй части статьи "Comparing MySQL performance" демонстрируются графики отражающих производительнось MySQL на платформах (с включенным SMP и без) FreeBSD 4.11, FreeBSD 5.3, NetBSD 2.0, Linux 2.6, Linux 2.4, Solaris 10 x86 (build 69), OpenBSD 3.6.
Кратко о результатах:
В конфигурации без SMP, в тесте select-key, победу одержала NetBSD (в других тестах она часто была на последних местах), затем Linux 2.6, Linux 2.4, OpenBSD и худшие результаты продемонстрировала FreeBSD.
Тот же select-key тест, но при сборке с поддержкой SMP поменял расстановку сил - Linux 2.6, Linux 2.4, FreeBSD 5.3 (KSE), NetBSD 2.0.
В тесте update-select результаты мало отличались от "select-key" за исключением того, что в SMP конфигурации FreeBSD 5.3 (KSE) оказался на предпоследнем месте.
Тест SysBench (1 миллион строк) без SMP: Linux 2.4, Linux 2.6, Solaris 10, FreeBSD 4.11 (LT), остальные заметно отстают (далее отстающих не упоминаю).
Тест SysBench (1 миллион строк) с SMP: Linux 2.6, Linux 2.4, Solaris 10, FreeBSD 4.11 (LT).
Тест SysBench (10 миллионов строк) без SMP: Linux 2.4, Linux 2.6, Solaris 10, далее вровень идут FreeBSD 4.11 (LT), FreeBSD 5.3 (KSE) и FreeBSD 5.3 (LT).
Тест SysBench (10 миллионов строк) с SMP - результаты почти совпадают с тестом без SMP.
Итог: Приемлемую производительность показали платформы: Linux 2.6, Linux 2.4, Solaris 10, FreeBSD 4.11 (linuxthreads) и FreeBSD 5.3 (KSE).
Заметки по настройке и конфигурации:
Настройки MySQL 4.0.22 (my.cnf):
- innodb_buffer_pool_size=256M
- innodb_log_file_size=128M
- innodb_log_buffer_size=8M
- innodb_flush_log_at_trx_commit=1
NetBSD и FreeBSD:
- options MAXDSIZ="(896*1024*1024)"
- options MAXSSIZ="(896*1024*1024)"
- options DFLDSIZ="(896*1024*1024)"
Под FreeBSD 5.3 MySQL тестировался как с использованием KSE, так и linuxthreads.
Под FreeBSD 4.11 - ibc_r и linuxthreads.
MySQL под Linux тестировался с ядрами 2.4 и 2.6 (NPTL треды), в качестве файловой системы выбрана ReiserFS 3.
|