作為DBA,你不得不掌握的壓測工具
創(chuàng)建庫、表,導(dǎo)入數(shù)據(jù)用于測試。此過程由單線程完成。
開始進行壓力測試。該步驟可以使用多線程完成。
清理測試數(shù)據(jù)。此過程由單線程完成。
~]# mysqlslap -uroot -p --auto-generate-sql --auto-generate-sql-load-type=mixed --auto-generate-sql-add-autoincrementEnter password:Benchmark#運行所有語句的平局時間,單位秒Average number of seconds to run all queries: 0.018 seconds#運行所有語句的最小秒數(shù)Minimum number of seconds to run all queries: 0.018 seconds#運行所有語句的最大秒數(shù)Maximum number of seconds to run all queries: 0.018 seconds#客戶端數(shù)量Number of clients running queries: 1#每個客戶端運行查詢的平均數(shù)Average number of queries per client: 0
--auto-generate-sql:自動生成測試表和數(shù)據(jù),mysqlslap工具自己生成sql腳本進行測試。
--auto-generate-sql-load-type:指定測試語句的類型。取值包括:read,key,write,update和mixed(默認)。
--auto-generate-sql-add-autoincrement:生成的表中會添加自增列。

mysqlslap -uroot -p --auto-generate-sql --auto-generate-sql-load-type=mixed --concurrency=100 --number-of-queries=1000--concurrency=100:指定同時有100個客戶端連接
--number-of-queries=1000:指定總的測試查詢次數(shù),該值除以concurrency的值就是每個客戶端執(zhí)行的查詢次數(shù)。

mysqlslap --delimiter=";" --create="CREATE TABLE a (b int);INSERT INTO a VALUES (23)" --query="SELECT * FROM a" --concurrency=50 --iterations=200mysqlslap -uroot -p --concurrency=5 --iterations=20 --number-int-cols=2 --number-char-cols=3 --auto-generate-sqlmysqlslap --concurrency=5 --iterations=5 --query=query.sql --create=create.sql --delimiter=";"cd sysbench-0.5./autogen.sh./configure --prefix=/usr/local/sysbench --build=x86_64make && make installcp /usr/local/sysbench/bin/sysbench /usr/bin/驗證sysbench安裝是否成功。[root@node1 ~]# sysbench --versionsysbench 0.5
[root@node1 ~]# sysbench --test=cpu --cpu-max-prime=2000 runsysbench 0.5: multi-threaded system evaluation benchmarkRunning the test with following options:Number of threads: 1Random number generator seed is 0 and will be ignored…………………………General statistics:total time: 1.1302s…………………………….
sysbench --test=memory --memory-block-size=8k --memory-total-size=100G runsysbench --test=fileio --num-threads=20 --file-total-size=2G --file-test-mode=rndrw preparesysbench --test=fileio --num-threads=20 --file-total-size=2G --file-test-mode=rndrw runsysbench --test=fileio --num-threads=20 --file-total-size=2G --file-test-mode=rndrw cleanupsysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --mysql-password=root preparemysql> select count(*) from sbtest1;+----------+| count(*) |+----------+| 1000000 |+----------+
sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --mysql-password=root --max-time=60 --oltp-read-only=on --max-requests=0 --num-threads=8 runOLTP test statistics:queries performed:read: 407498write: 0other: 58214total: 465712transactions: 29107 (485.07 per sec.)requests: 407498 (6790.91 per sec.)other operations: 58214 (970.13 per sec.)ignored errors: 0 (0.00 per sec.)reconnects: 0 (0.00 per sec.)General statistics:total time: 60.0064stotal number of events: 29107total time taken by event execution: 479.9865sresponse time:min: 1.55msavg: 16.49msmax: 539.30ms95 percentile: 25.98msThreads fairness:events (avg/stddev): 3638.3750/42.84execution time (avg/stddev): 59.9983/0.00
sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --mysql-password=root cleanup評論
圖片
表情
