Тестируем производительность MySQL

Зачастую слабым звеном сервера может стать MySQL. Для его тонкой настройки необходимо знать численное значение производительности. Для этой цели подойдет программа sysbench — среди прочего она позволят тестировать производительность MySQL.

Устанавливаем

yum install sysbench

Создаем базу данных с названием sbtest. Это можно сделать как через phpmyadmin, так и через консоль, имя базы по умолчанию — sbtest, если хотите использовать своё, то в дальнейшем понадобится ключ --mysql-db=dbtest во всех командах, где dbtest — имя тестовой базы данных

mysql> create database sbtest;

готовим базу данных для тестирования

sysbench --num-threads=10 --test=oltp --mysql-user=root --mysql-password=pass --oltp-table-size=500000 --db-driver=mysql --mysql-table-engine=myisam prepare

имя пользователя и пароль вбиваем своё.

Запускаем тест

sysbench --num-threads=10 --test=oltp --mysql-user=root --mysql-password=pass --oltp-table-size=500000 --db-driver=mysql --mysql-table-engine=myisam run

Получаем результат:

  1. sysbench 0.4.12:  multi-threaded system evaluation benchmark
  2.  
  3. Running the test with following options:
  4. Number of threads: 10
  5.  
  6. Doing OLTP test.
  7. Running mixed OLTP test
  8. Using Special distribution (12 iterations,  1 pct of values are returned in 75 pct cases)
  9. Using "LOCK TABLES WRITE" for starting transactions
  10. Using auto_inc on the id column
  11. Maximum number of requests for OLTP test is limited to 10000
  12. Threads started!
  13. Done.
  14.  
  15. OLTP test statistics:
  16.     queries performed:
  17.         read:                            140000
  18.         write:                           50000
  19.         other:                           20000
  20.         total:                           210000
  21.     transactions:                        10000  (294.40 per sec.)
  22.     deadlocks:                           0      (0.00 per sec.)
  23.     read/write requests:                 190000 (5593.55 per sec.)
  24.     other operations:                    20000  (588.79 per sec.)
  25.  
  26. Test execution summary:
  27.     total time:                          33.9677s
  28.     total number of events:              10000
  29.     total time taken by event execution: 339.5076
  30.     per-request statistics:
  31.          min:                                  8.97ms
  32.          avg:                                 33.95ms
  33.          max:                               1961.10ms
  34.          approx.  95 percentile:              38.03ms
  35.  
  36. Threads fairness:
  37.     events (avg/stddev):           1000.0000/0.45
  38.     execution time (avg/stddev):   33.9508/0.01

Очистить таблицу так:

sysbench --test=oltp --mysql-user=root --mysql-password=pass --db-driver=mysql cleanup

Теги: