Mysql 集测试报告
测试测试环境环境
建立测试环境:
mysql面试题测试基于ndb 引擎的mysql Cluster 数据库。 项
数值 操作系统
Red Hat Linux 5.5 64位 Mysql cluster 版本
5.1.51-ndb-7.1.10 机器型号
vs2013Dell R710 内存
32G CPU虚拟机怎么进去linux桌面
E5506 2.13Ghz*8 部署
2台数据节点、2台 sql node 网络环境
100M 局域网
基于innodb 引擎的mysql 单向复制数据库。 项
数值 操作系统
Red Hat Linux 5.5 64位 Mysql cluster 版本
5.1.35 机器型号
Dell R710 内存
16G CPU
E5506 2.13Ghz*8 部署
一个Master 一个Slave 网络环境
100M 局域网  测试目的
针对mysql 集性能进行测试。  重点三个指标:
1、并发读写性能。
2、大数据量下读写能力。
3、系统的稳定性。
测试工具
利用四种测试工具:
Mysqlslap、mysql benchmark suite、sysbench、supersmack。
测试用例
1、并发写能力测试
模拟100会话,读写100W数据占用时间、CPU等情况。
模拟100会话,读写1000W数据占用时间、CPU等情况。
2、并发事务处理能力
模拟100会话,读写100W数据,每秒事务处理能力。
模拟100会话,读写1000W数据,每秒事务处理能力。
3、单线程功能测试
100W数据和1000W数据性能情况对比。
4、在大数据量下,读写的性能对比。
先模拟建立100W和1000W数据情况下,进行读写测试。
第一节并发写能力测试--mysqlslap
测试对象准备:
建立表:
DROP TABLE IF EXISTS `ndbtest`.`t1_disk`;
CREATE TABLE `ndbtest`.`t1_disk` (
`f1` int(10) NOT NULL AUTO_INCREMENT,
`f2` datetime DEFAULT NULL,
`f3` varchar(200) DEFAULT NULL,
PRIMARY KEY (`f1`)
) /*!50100 TABLESPACE ts_1 STORAGE DISK */ ENGINE=ndbcluster AUTO_INCREMENT=1000001 DEFAULT CHARSET=gbk;
存储过程:
DELIMITER $$
DROP PROCEDURE IF EXISTS `p_test_t1_disk` $$
CREATE DEFINER=`root`@`%` PROCEDURE `p_test_t1_disk`()
BEGIN
declare i int default 0;
微服务网关gateway作用
test: loop
insert into ndbtest.t1_disk(f2,f3) values(sysdate(),md5(rand()));
set i=i+1;
if i>=10000 then
leave test;
end if;
end loop;
END $$
DELIMITER ;
1、100W 测试:
存储过程每次循环书写1K 条记录。
100W ndb 测试测试结果结果结果::
mysqlslap --concurrency=100 --iterations=1 --query='call ndbtest.p_test_t1_disk;' --number-of-queries=1000  -uroot -proot -h 172.26.1.191
[root@chuangxin-microblog-db2 ~]# mysqlslap --concurrency=100 --iterations=1 --query='call ndbtest.p_test_t1_disk;' --number-of-queries=1000  -uroot -proot -h 172.26.1.191
Benchmark
Average number of seconds to run all queries: 607.459 seconds
Minimum number of seconds to run all queries: 607.459 seconds
Maximum number of seconds to run all queries: 607.459 seconds
Number of clients running queries: 100
Average number of queries per client: 10
[root@chuangxin-microblog-db1 ~]#  mysqlslap --concurrency=100 --iterations=1 --query='call ndbte
st.p_test_t1_disk;' --number-of-queries=1000  -uroot -proot -h 172.26.1.191
Benchmark
Average number of seconds to run all queries: 1104.104 seconds
Minimum number of seconds to run all queries: 1104.104 seconds
Maximum number of seconds to run all queries: 1104.104 seconds
Number of clients running queries: 100
Average number of queries per client: 10
[root@chuangxin-microblog-db1 ~]#  mysqlslap --concurrency=100 --iterations=1 --query='call ndbtest.p_test_t1_disk;' --number-of-queries=1000  -uroot -proot -h 172.26.1.191
Benchmark
Average number of seconds to run all queries: 590.389 seconds
Minimum number of seconds to run all queries: 590.389 seconds
Maximum number of seconds to run all queries: 590.389 seconds
Number of clients running queries: 100
Average number of queries per client: 10
Ndb表结果索引在内存中,其它字段在硬盘里面。
[root@blog2 ~]# ndb_desc -c 172.26.1.65 -d ndbtest t1_disk -p
-- t1_disk --
Version: 15
Fragment type: 9
K Value: 6
Min load factor: 78
Max load factor: 80
Temporary table: no
Number of attributes: 3
Number of primary keys: 1
Length of frm data: 288
Row Checksum: 1
Row GCI: 1
SingleUserMode: 0
ForceVarPart: 1
FragmentCount: 2
TableStatus: Retrieved
-- Attributes --
f1 Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY AUTO_INCRoracle哪个版本免费
f2 Datetime NULL AT=FIXED ST=DISK
f3 Longvarchar(400;gbk_chinese_ci) NULL AT=MEDIUM_V AR ST=DISK
-- Indexes --
PRIMARY KEY(f1) - UniqueHashIndex
PRIMARY(f1) - OrderedIndex
-- Per partition info --
Partition Row count Commit count Frag fixed memory Frag varsized memory Extent_space Free extent_space
0 60269 60269 2195456 0 26214400 226840
1 60745 60745 2228224 0 26214400 23540
NDBT_ProgramExit: 0 - OK
测试结果::
100W Innodb测试结果
[root@chuangxin-microblog-db1 ~]# mysqlslap --concurrency=100 --iterations=1 --query='call test.p_test_t1_disk;' --number-of-queries=1000 -uroot -proot -h 172.26.1.68
Benchmark
Average number of seconds to run all queries: 221.920 seconds
Minimum number of seconds to run all queries: 221.920 seconds
Maximum number of seconds to run all queries: 221.920 seconds
Number of clients running queries: 100
Average number of queries per client: 10
2、1000W测试
试结果::
1000W Ndb测试结果
[root@chuangxin-microblog-db1 smacks]# mysqlslap --concurrency=100 --iterations=1 --query='call ndbtest.p_test_t1_disk;' --number-of-queries=10000 -uroot -proot -h 172.26.1.191 Benchmark
Average number of seconds to run all queries: 5842.211 seconds
Minimum number of seconds to run all queries: 5842.211 seconds
Maximum number of seconds to run all queries: 5842.211 seconds
Number of clients running queries: 100
Average number of queries per client: 100
测试结果::
1000W Innodb测试结果
[root@chuangxin-microblog-db1 ~]# mysqlslap --concurrency=100 --iterations=1 --query='call test.p_test_t1_disk;' --number-of-queries=10000 -uroot -proot -h 172.26.1.68offsetof函数用法
Benchmark
Average number of seconds to run all queries: 2261.580 seconds
Minimum number of seconds to run all queries: 2261.580 seconds
Maximum number of seconds to run all queries: 2261.580 seconds
Number of clients running queries: 100
Average number of queries per client: 100

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。