概述和测试环境
压测的目的是为了尽量模拟真实情况。测试的表都是由10个int型字段和10个字符串型字段组成。每个测试项目都测试了myisam和innodb两个引擎。测试的方法都是用两个线程并发,一共跑10000个请求。
压测的机器用的是自己的笔记本。CPU是Intel(R) Core(TM)2 Duo CPU P8400, 4G内存, SATA硬盘。
mysql服务器端和压测的客户端跑在同一台机器上。mysql的版本是5.5.
用到的mysqlslap参数解释如下:
--concurrency=2 两个线程
--iterations=1 执行一次
--number-int-cols=10 10个int型字段
--number-char-cols=10 10个字符串字段
-a 等同于--auto-generate-sql
--auto-generate-sql-add-autoincrement 创建auto increment的主键
--auto-generate-sql-secondary-indexes=2 创建2列索引
--auto-generate-sql-guid-primary 创建guid作为主键
--number-of-queries=10000 所有并发线程的请求次数和
--auto-generate-sql-load-type=write/key/read/update/mixed 测试的query类型
--engine=myisam,innodb 存储引擎
写性能测试
写性能测试1,不开binlog, guid做主键, 无索引
测试命令:
1
mysqlslap --concurrency=2\
2
--iterations=1\
3
--number-int-cols=10\
4
--number-char-cols=10\
5
-a\
6
--auto-generate-sql-guid-primary\
7
--number-of-queries=10000\
8
--auto-generate-sql-load-type=write\
9
--engine=myisam,innodb\
结果:
01
Benchmark
02
Runningforengine myisam
03
Average number of seconds to run all queries: 6.110 seconds
04
Minimum number of seconds to run all queries: 6.110 seconds
05
Maximum number of seconds to run all queries: 6.110 seconds
06
Number of clients running queries: 2
07
Average number of queries per client: 5000
08
09
Benchmark
10
Runningforengine innodb
11
Average number of seconds to run all queries: 10.291 seconds
12
Minimum number of seconds to run all queries: 10.291 seconds