mysqlslap
mysqlslap -uroot -proot -P3306 --concurrency=500 --iterations=1 --auto-generate-sql --auto-generate-sql-load-type=mixed --auto-generate-sql-add-autoincrement --engine=innodb --number-of-queries=500
单节点数据库压力测试
mysqlslap.exe -uroot -p123 --concurrency=5000 --iterations=1 --auto-generate-sql --auto-generate-sql-load-type=mixed
--auto-generate-sql-add-autoincrement --engine=innodb --number-of-queries=5000 -
-debug-info
concurrency 是并发量
--number-of-queries 是查询次数
单节点数据库压力测试
单节点数据库弊端
D:\软件\MySQL\MySQL\bin>mysqlslap -hlocalhost -uroot -pabc123456 -P3306 --concurrency=10000 --iterations=1 --auto-generate-sql --auto-generate-sql-load-type=mixed --auto-generate-sql-add-autoincrement --engine=innodb --number-of-queries=10000 --debug-info
mysqlslap: Error when connecting to server: 2003 Can't connect to MySQL server on 'localhost'(10061) mysqlslap: Error when connecting to server: 2003 Can't connect to MySQL server on 'localhost'(10061) mysqlslap: Error when connecting to server: 2003 Can't connect to MySQL server on 'localhost'(10061) mysqlslap: Error when connecting to server: 2003 Can't connect to MySQL server on 'localhost'(10061) mysqlslap: Error when connecting to server: 2003 Can't connect to MySQL server on 'localhost'(10061) Benchmark Running for engine innodb Average number of seconds to run all queries:48.547 seconds Minimum number of seconds to run all queries:48.547seconds Maximum number of seconds to run all queries:48.547 seconds Number of clients running queries:10000 Average number of queries per client: 1
单节点数据库压力测试
测试案例
Benchmark Running for engine innodb AVerage number of seconds to run all queries:0.234 seconds Minimum number of seconds to run all queries:0.234 seconds Maximum number of seconds to run all queries:0.2340econds Number of clients running queries:100 Avefage number of quenes per client:50 Benchmark Running for engine innodb verage number of seconds to run all queries:1.656 seconds Minimum number of seconds to run all queries:1.656 seconds Maxmum number of seconds to run all queries:1.656 seconds Number of dients running queries 500 Average number of queries per clent:10 Benchmark Running for engine innodb Average number of seconds to run all queries:2187 seconds Minimum number of seconds to run all queries2.18/seconds Maximum number of seconds to run all queries:2187 seconds Number of dients running queries:1000 Average number of quenes per client 5
并发 100、500 和 1000 个连接,执行 5000 次查询,单节点数据还可以正常应对,没有太大的问题。
单节点数据库压力测试
测试案例
mysqlslap -hlocalhost -uroot -pabc123456 -P3306 --concurrency=1000 --iterations=1 --auto-generate-sql --auto-generate-sql-load-type=mixed --auto-generate-sql-add-autoincrement --engine=innodb --number-of-queries=5000 --debug-info
单节点数据库的弊病
情况说明
大型互联网程序用户群体庞大,所以架构必须要特殊设计
单节点的数据库无法满足性能上的要求
单节点的数据库没有冗余设计,无法满足高可用
高并发 单机单节点 100 -> 1.2s 1000 ->7.6s 10000-> 48s 部分拒绝访问
10000并发,1000查询:拒绝一些请求
5000并发,5000查询执行结果
压力测试结果
单节点数据库压力测试
单节点数据库的弊病
单节点数据库压力测试
mysqlslap -hlocalhost -uroot -pabc123456 -P3306
--concurrency=5000 //并发量
--number-of-queries=5000//执行次数
--iterations=1
--auto-generate-sql
--auto-generate-sql-load-type=mixed
--auto-generate-sql-add-autoincrement
--engine=innodb
--debug-info
数据库集群的必要性
大型互联网程序用户群体庞大,所以架构必须要特殊设计
单节点的数据库无法满足性能上的要求
单节点的数据库没有冗余设计,无法满足高可用
数据库集群的必要性
大型互联网程序用户群体庞大,所以架构必须要特殊设计
单节点的数据库无法满足性能上的要求
单节点的数据库没有冗余设计,无法满足高可用
mysqlslap使用方法:
mysql 单节点数据库压力测试 方案
单节点数据库压力测试
单节点缺陷
单节点数据库压力测试
mysqlslap -hlocalhost -uroot -pabc123456 -P3306
--concurrency=5000 //并发量
--number-of-queries=5000//执行次数
--iterations=1 --auto-generate-sql --auto-generate-sql-load-type=mixed --auto-generate-sql-add-autoincrement
--engine=innodb
--debut-info
--单节点数据库压力测试
mysqlslap -hlocalhost -uroot -proot -P3306 --concurrency=100 --iterations=1 --auto-generate-sql --auto-generate-sql-load-type=mixed --auto-generate-sql-add-autoincrement --engine=innodb --number-of-queries=100
有点意思,查看数据库的并发
单节点数据库的弊病
单节点数据库压力测试