1.基准测试脚本
3.mysql 自带的测试工具:mysqlslap
--auto-generate-sql #由系统自动生成sql脚本测试
--auto-generate-sql-add-autoincrement #在生成的表中增加自增ID
--auto-generate-sql-load-type #指定测试中使用的查询类型
--auto-generate-sql-write-number #指定初始化时生成的数据量
--concurrency #指定并发线程的数量
--engine #指定存储引擎,可逗号分隔多个
--no-drop #指定不清理测试数据
--interations #指定测试运行次数
--number-of-queries 指定每一个线程执行的查询数量
--debug-info #指定输出额外的内存及CPU统计信息
--number-int-cols #指定测试表中包含的int类型列的数量
--number-char-cols #指定测试表中包含的varchar类型列的数量
--create-schema #指定用于测试的数据库名称
--query #自定义SQL脚本
--only-print #只打印测试脚本,不测试
#例子
mysqlslap --concurrency=1,50,100,200 --interations=3 --number-int-cols=5 --number-char-cols=5 --auto-generate-sql --auto-generate-sql-add-autoincrement --engine=myisam,innodb --number-of-queries=10 --create-schema=dbtest
4.测试工具:sysbench
安装
./autogen.sh
./configure --with-mysql-includes=/usr/local/mysql/include/ --with-mysql-libs=/usr/local/mysql/lib/
make && make install
常用参数
--test #指定索要执行的测试类型[Fileio:文件系统I/O性能测试,cpu:cpu性能测试,memory:内存性能测试,Oltp:需要指定具体测试脚本,脚本位于 sysbench-0.5/sysbench/tests/db]
--mysql-db #用于指定执行基准测试的数据库名[要使用独立的测试数据库进行测试]
--mysql-table-engine #只能指定单个存储引擎
--oltp-tables-count #执行测试的表的数量
--oltp-tables-size #执行每个表中数据的行数
--num-threads #指定测试的并发线程数量
--max-time #测试执行最大时间就终止
--report-interval #指定多久输出一次统计信息,秒为单位
--mysql-user #指定测试的mysql用户
--mysql-password #测试用户的密码
prepare #准备测试数据
run #准备好后,执行的实际测试
cleanup #清理测试数据
例子:
sysbench --test=cpu --cpu-max-prime=10000 run
#测试系统I/O,要生成比系统内存大的文件
sysbench --test=fileio --file-total-size=1G prepare
sysbench --test=fileio --num-threads=8 --int-rng=on --file-total-size=1G --file-text-model=rndrw[随机读写] --report-interval=1 run
sysbench --test=./oltp.lua --mysql-table-engine=innodb --oltp-table-size=10000 --oltp-tables-count=10 --mysql-socket=/usr/local/mysql/data/mysql.sock --mysql-db=xxx --mysql-user=xxx --mysql-password=xxx prepare
测试期间用 1,2 来分析结果
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于