Spec-Zone.ru › MariaDB

Тестовые результаты пула потоков

Вот некоторые эталонные данные для кода многопоточного пула разработки (пул потоков 5.5).

Тесты производительности проводились на трех машинах:

  • facebook-maria1 (Linux, 16 ядер)
  • pitbull (Linux, 24 ядра)
  • windows (Windows, 8 ядер)

Для запуска некоторых тестов OLTP ("единичных" тестов point-select и update-nokey), а также "классических" тестов OLTP-readonly и OLTP-readwrite использовался Sysbench 0.4. Все тесты запускались с количеством одновременных клиентов от 16 до 4096, с кэшем, прогретым до рабочей температуры, с таблицей sysbench, содержащей 1 млн записей.

Результаты на всех протестированных машинах довольно различаются (машины сильно различаются по количеству ядер, вводу-выводу и т. д.), но многопоточный пул положительно влияет на все 3 машины, и этот положительный эффект, кажется, растет с увеличением количества ядер.

Некоторые замечания по проведению тестов:

  1. Клиент и сервер для тестирования использовали разные ЦП — ('taskset' (Linux) или 'start /affinity' (Windows) использовались для запуска клиента тестирования на #CPUs/4, остальные ЦП использовались сервером). На Linux-системах использовался --thread_pool_size=<N> (где N — количество ядер, выделенных серверу).
  2. innodb_flush_log_at_trx_commit=0 и innodb_flush_method=ALL_O_DIRECT использовались для предотвращения интенсивной операции fsyncing, что приемлемо для целей тестирования.
  3. Каждый тест "записи" (oltp_rw и update_nokey) запускался с новым сервером (т. е. mysqld останавливался, файлы innodb удалялись и mysqld перезапускался для каждого теста). Каждый тест "чтения", в свою очередь, использовал тот же работающий экземпляр сервера. Запуск с новым сервером в тестах записи осуществляется в основном для исключения влияния задержки удаления записей.
  4. Результаты представлены в количестве запросов в секунду (QPS).

OLTP_RO

OLTP_RO facebook-maria1

Одновременные клиенты 16 32 64 128 256 512 1024 2048 4096
Поток на соединение 3944 4725 4878 4863 4732 4554 4345 4103 1670
Потоковый пул 3822 4955 4991 5017 4908 4716 4610 4307 2962

oltp-ro-facebook-maria1

OLTP_RO pitbull

Одновременные клиенты 16 32 64 128 256 512 1024 2048 4096
Поток на соединение 6754 7905 8152 7948 7924 7587 5313 3827 208
Потоковый пул 6566 7725 8108 8079 7976 7793 7429 6523 4456

oltp_ro-pitbull

OLTP_RO Windows

Одновременные клиенты 16 32 64 128 256 512 1024 2048 4096
Поток на соединение 1822 1831 1825 1829 1816 1879 1866 1783 987
Потоковый пул 2019 2049 2024 1992 1924 1897 1855 1825 1403

oltp_ro-windows

OLTP_RW

OLTP_RW facebook-maria1

Одновременные клиенты 16 32 64 128 256 512 1024 2048 4096
Поток на соединение 2833 3510 3545 3420 3259 2818 1788 820 113
Потоковый пул 3163 3590 3498 3459 3354 3117 2190 1064 506

oltp_rw-facebook-maria1

OLTP_RW pitbull

Одновременные клиенты 16 32 64 128 256 512 1024 2048 4096
Поток на соединение 4561 5316 5332 3512 2874 2476 1380 265 53
Потоковый пул 4504 5382 5694 5567 5302 4514 2548 1186 484

oltp_rw-pitbull

OLTP_RW Windows

Одновременные клиенты 16 32 64 128 256 512 1024 2048 4096
Поток на подключение 1480 1498 1472 1477 1456 1371 731 328 82
Пул потоков 1449 1523 1527 1492 1443 1409 1365 1240 862

oltp_rw-windows

POINT_SELECT

POINT_SELECT facebook-maria1

Одновременные клиенты 16 32 64 128 256 512 1024 2048 4096
Поток на подключение 91322 113116 115418 114484 111169 104612 26902 12843 5038
Пул потоков 100359 115618 118115 120136 119165 113931 110787 109970 104985

point_select-facebook-maria1

POINT_SELECT pitbull

Одновременные клиенты 16 32 64 128 256 512 1024 2048 4096
Поток на подключение 148673 161547 169747 172083 69036 42041 21775 4368 282
Пул потоков 143222 167069 167270 165977 164983 158410 148690 147107 143934

point_select-pitbull

POINT_SELECT Windows

Одновременные клиенты 16 32 64 128 256 512 1024 2048 4096
Поток на подключение 39734 42885 44448 44478 41720 38196 36844 35404 23306
Пул потоков 42143 45679 47066 47753 46720 44215 43677 43093 44364

point_select-windows

UPDATE_NOKEY

UPDATE_NOKEY facebook-maria1

Одновременные клиенты 16 32 64 128 256 512 1024 2048 4096
Поток на подключение 60165 65761 67727 57232 47612 26341 8981 3265 389
Пул потоков 65092 68683 67053 64141 64815 63047 63346 63638 62843

update_nokey-facebook-maria1

UPDATE_NOKEY pitbull

Одновременные клиенты 16 32 64 128 256 512 1024 2048 4096
Поток на подключение 65213 71680 19418 13008 11155 8742 5645 635 332
Пул потоков 64902 70236 70037 68926 69930 69929 67099 62376 17766

update_nokey-pitbull

UPDATE_NOKEY Windows

Одновременные клиенты 16 32 64 128 256 512 1024 2048 4096
Поток на подключение 24790 25634 25639 25309 24754 19420 5249 2361 824
Пул потоков 25251 25259 25406 25327 24850 23818 23137 23003 22047

update_nokey-windows

Контент, воспроизведенный на этом сайте, является собственностью соответствующих владельцев, и этот контент не проходит предварительной проверки MariaDB. Мнения, информация и мнения, выраженные в данном контенте, не обязательно отражают точку зрения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/threadpool-benchmarks/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API