Много раз мы могли видеть различные тесты, выполняемые tpcc-mysql . Итак, сегодня я хочу рассказать вам о том, как использовать tpcc-mysql и как строить графики с помощью gnuplot, за несколько простых шагов.
В качестве примера я сравню производительность Percona Server 5.5 (последняя версия: 5.5.31), изменив размер пула буферов InnoDB: innodb_buffer_pool_size = 256M / innodb_buffer_pool_size = 768M на моей старой тестовой машине
Системная информация
- Процессор: Intel (R) Pentium (R) 4, процессор 1,80 ГГц
- MemTotal: 1543732 кБ
- ОС: LinuxMint 15 (на основе Ubuntu 13.04)
Файлы
Вы можете найти исходный код всех файлов в конце этого поста.
Установка
- Установите последнюю версию Percona Server
- Установите tpcc-mysql
sudo apt-get install bzr bzr branch lp:~percona-dev/perconatools/tpcc-mysql make all
В этом случае он установлен в ~ / ККТП-MySQL / каталог
- Установите gnuplot
sudo apt-get install gnuplot
Конфигурация БД
Первый тест будет выполняться с включенной опцией innodb_buffer_pool_size = 256M, а второй — с innodb_buffer_pool_size = 768M
Тест для innodb_buffer_pool_size = 256M
Создание БД.
Предполагается, что Percona Server 5.5.31 установлен и настроен.
cd ~/tpcc-mysql mysql -u root -p -e "CREATE DATABASE tpcc1000;" mysql -u root -p tpcc1000 < create_table.sql mysql -u root -p tpcc1000 < add_fkey_idx.sql
Загрузить данные
./tpcc_load 127.0.0.1 tpcc1000 root "root-password" 20
Куда:
- Хост: 127.0.0.1
- БД: tpcc1000
- Пользователь: root
- Пароль: root-пароль
- Склад: 20
...DATA LOADING COMPLETED SUCCESSFULLY.
В этом случае размер БД составляет 1,9 ГБ.
Запустите тест tpcc-mysql
./tpcc_start -h127.0.0.1 -dtpcc1000 -uroot -p -w20 -c16 -r10 -l1200 > ~/tpcc-output-ps-55-bpool-256.log
Куда:
- Хост: 127.0.0.1
- БД: tpcc1000
- Пользователь: root
- Склад: 20
- Подключение: 16
- Время разгона: 10 (сек)
- Измерение: 1200 (с)
Наиболее интересная часть в выводе:
ИЗМЕРИТЕЛЬНЫЙ СТАРТ.
10, 25 (17): 9,005 | 9,221, 21 (0): 1,866 | 1,886, 3 (0): 0,647 | 0,840, 1 (0): 0,000 | 10,614, 2 (2): 19,999 | 29,490
20, 22 ( 14): 9,419 | 9,555, 26 (0): 1,559 | 1,559, 2 (0): 0,593 | 0,788, 4 (0): 10,453 | 10,688, 3 (3): 19,999 | 22,962
30, 41 (32): 8,703. | 9,057, 32 (0): 1,615 | 1,666, 3 (0): 0,588 | 0,777, 2 (0): 9,530 | 10,495, 3 (2): 19,999 | 22,983
Первые два значения — это «временной диапазон» и «транзакции», поэтому вы можете прочитать их как:
0-10 sec, 25 transactions 10-20 sec, 22 transactions 20-30 sec, 41 transactions
Тест для innodb_buffer_pool_size = 768M
Повторите следующие шаги для innodb_buffer_pool_size = 768M (измените его в my.cnf) и получите результаты:
- Конфигурация БД
- Создать БД
- Загрузить данные
- Запустите тест tpcc-mysql
./tpcc_start -h127.0.0.1 -dtpcc1000 -uroot -p -w20 -c16 -r10 -l1200 > ~/tpcc-output-ps-55-bpool-768.log
Есть 2 файла: tpcc-output-ps-55-bpool-256.log и tpcc-output-ps-55-bpool-768.log, которые имеют результаты тестирования для обоих тестов.
Создать файл данных для каждого теста
./tpcc-output-analyze.sh ~/tpcc-output-ps-55-bpool-256.log > tpcc-256-data.txt ./tpcc-output-analyze.sh ~/tpcc-output-ps-55-bpool-768.log > tpcc-768-data.txt
Объединить файлы данных
paste tpcc-256-data.txt tpcc-768-data.txt > tpcc-graph-data.txt
Построить график
./tpcc-graph-build.sh tpcc-graph-data.txt tpcc-graph.jpg
В этом случае tpcc-graph-data.txt — это имя файла исходного файла данных и tpcc-graph.jpg имя файла графа, который будет сгенерирован
График готов: tpcc-graph.jpg
Примечание: «использование 3: 4… с осями линий x1y1» в tpcc-graph-build.sh означает, что столбцы с номерами 3 и 4 в файле данных будут использоваться как оси x и y соответственно при построении второй строки
Список файлов
tpcc-output-analyze.sh (я получил его там и немного изменил)
TIMESLOT = 1
если [-n «$ 2»],
то
TIMESLOT = $ 2
echo «Определено $ 2 ″
fiкошка $ 1 | grep -v HY000 | grep -v оплата | grep -v neword | awk -v timeslot = $ TIMESLOT ‘BEGIN {FS = ”[, ():]«; s = 0; CNTR = 0; aggr = 0} / ЗАПУСК ИЗМЕРЕНИЯ / {s = 1} / ОСТАНОВКА НИТЕЙ / {s = 0} / 0 / {if (s == 1) {cntr ++; Aggr + = $ 2; } if (cntr == timeslot) {printf («% d% 3d \ n», $ 1, (aggr / ‘$ TIMESLOT’)); CNTR = 0; aggr = 0}} ‘
tpcc-graph-build.sh
#! / Bin / Баш
### перейти к homedir пользователя и удалить предыдущий файл
rm -f ‘$ 2 ′gnuplot << EOP
### установить файл источника
данных datafile = ‘$ 1 ′### установить тип и размер графика
установить размер jpeg терминала 640,480### установить заголовки
установить сетку xy
установить xlabel «Время (сек)»
установить ylabel «Транзакции»### установить выходное имя файла
установить вывод ‘$ 2 ′### build graph
# файл данных графика с линиями
График файла данных заголовка «PS 5.5.1, пул буферов: 256M» со строками,
файл \ datafile с заголовком 3: 4 «PS 5.5.1, пул буферов: 768M» с осями линий x1y1ИАП