Это старая версия документа!
Sysbench - Тестирование производительности
Проверяем производительность CPU
Выполнение теста:
$ sysbench --test=cpu --cpu-max-prime=20000 run
Тестируем дисковую подсистему
Подготовка тестовых файлов:
$ sysbench --test=fileio --file-total-size=70G prepare
Выполнение теста:
$ sysbench --test=fileio --file-total-size=70G --file-test-mode=rndrw --init-rng=on --max-time=300 --max-requests=0 run
Очистка временных файлов:
$ sysbench --test=fileio cleanup
Тест MySQL OLTP
Подготовка к тестированию:
$ sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --mysql-password=pass prepare
Запуск теста:
$ sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --mysql-password=pass --max-time=60 --oltp-read-only=off --max-requests=0 --num-threads=8 run
Очистка:
$ sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --mysql-password=pass cleanup
Тест MySQL oltp_read_write
Подготовка к тестированию:
$ sysbench /usr/share/sysbench/oltp_read_write.lua --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --mysql-password=pass prepare
Запуск теста:
$ sysbench /usr/share/sysbench/oltp_read_write.lua --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --mysql-password=pass --max-time=60 --oltp-read-only=off --max-requests=0 --num-threads=8 run
- –threads=16
- –events=100000000
- –time=300
- –mysql-host=10.1.3.31
- –mysql-db=sbtest
- –mysql-user=sbtest
- –mysql-password=sbtest_pass
- –mysql-port=3307
- –tables=100
- –table-size=1000000
- –range_selects=off
- –db-ps-mode=disable
- –report-interval=1
- –delete_inserts=10
- –index_updates=10
- –non_index_updates=10
Очистка:
$ sysbench /usr/share/sysbench/oltp_read_write.lua --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --mysql-password=pass cleanup
Как измерить производительность PostgreSQL?
BEGIN; UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid = :aid; SELECT abalance FROM pgbench_accounts WHERE aid = :aid; UPDATE pgbench_tellers SET tbalance = tbalance + :delta WHERE tid = :tid; UPDATE pgbench_branches SET bbalance = bbalance + :delta WHERE bid = :bid; INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid, :aid, :delta, CURRENT_TIMESTAMP); END;
Для создания тестовых данных выполняем команду:
$ pgbench -h localhost -U test_user -i -s 100 test
Выполняем тестирование:
$ pgbench -h localhost -U test_user -t 5000 -c 4 -j 4 test
А как же производительность PHP?
Для запуска:
$ wget https://github.com/florinsky/af-php-bench/raw/master/build/phpbm.phar $ php phpbm.phar