HammerDB - как выполнить тестирование в памяти с помощью режима mysql, TPCC? - PullRequest
0 голосов
/ 19 июня 2019

Я проводил тестирование TPCC с HammerDB 3.1 и с mysql в качестве бэкэнда.Глядя на потребление ресурсов во время тестирования, я не думаю, что он выполняет тестирование в памяти, так как там много операций ввода-вывода.

Так что мой вопрос, возможно ли с сервером MySQL сделать это в-память тестирование hammerdb, или как мне этого добиться?

В противном случае использовать конфигурацию mysql по умолчанию на основе документации hammerdb.

1 Ответ

1 голос
/ 20 июня 2019

Для тестирования TPCC на реляционных базах данных операции ввода-вывода будут разделены на две основные области: область данных и журнал повторов / транзакций или WAL, и обе они будут буферизироваться в памяти, но с ключевым различием. Для области данных у вас будет буферный кеш или пул, в который вы читаете блоки данных или страницы, для MySQL и механизма хранения InnoDB это устанавливается, например, innodb_buffer_pool_size = 64000M. На базовом уровне во время тестового запуска вы будете читать большинство ваших блоков данных с диска в этот буферный пул, откуда все операции с блоками будут происходить в памяти. Периодически измененные блоки будут записываться на диск. Чтобы предотвратить потерю данных в результате сбоя, все изменения записываются в журнал повторов, и он записывается на диск при фиксации. В буфере памяти есть место, где изменения будут поставлены в очередь и потенциально записаны на диск вместе, однако этот буфер будет небольшим, так как все изменения должны достигать постоянного носителя, когда они происходят (поэтому буфер журнала размером более 10 с МБ не будет заполнен раньше это покраснело). Поэтому для теста TPCC вы увидите много операций записи в журнал повторов. Если постоянный носитель (HDD или SDD) не успевает за записью, это будет узким местом, мешающим более высокой скорости транзакций добавлять больше виртуальных пользователей, и, следовательно, потребуется меньше памяти в области данных, поскольку по умолчанию один виртуальный пользователь будет работать в основном 1 склад. Если вы хотите увеличить активность области данных, флажок «использовать все хранилища» увеличит количество хранилищ, которые будет использовать каждый виртуальный пользователь.

...