mysql8和mysql5.6及mysql5.7性能测试结果(自建mysl与阿里云RDSmysql比较)

 

mysql8mysql5.6mysql5.7性能测试结果

 

连接工具:Navicat Premium 12  mysqlslap

说明:服务器环境配置不一样,mysql8、mysql5.7是自建的,RDSmysql5.6是阿里云的,测试表和函数是一样的。

 

  • mysql5.6测试结果

 

  1. 准备工作

 

新建测试表index_test`

Sql语句:

CREATE TABLE `index_test` (

  `id` bigint(20) NOT NULL AUTO_INCREMENT,

  `USER` varchar(16) DEFAULT NULL,

  `psd` varchar(64) DEFAULT NULL,

  PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=200771 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

 

mysql8和mysql5.6及mysql5.7性能测试结果(自建mysl与阿里云RDSmysql比较)_第1张图片

新建测试函数:insert_data

Sql语句:

CREATE DEFINER=`root`@`localhost` PROCEDURE `insert_data`(IN num INT)

BEGIN

DECLARE n INT DEFAULT 1;/*定义一个变量,存储当前执行的次数*/

WHILE n <= num

DO

  INSERT INTO index_test(USER,psd) VALUES(concat('用户',n),n);

set n=n+1;

end while;

END

2)插入十万条记录运行时间

运行函数:100000 次(插入十万条记录)

 

运行结果:

Procedure executed successfully

 

时间: 0.042s

Procedure executed successfully

 

时间: 38.724s

 

3)查询十万条记录结果

Sql语句:

SELECT * FROM index_test;

运行结果:

SELECT * FROM index_test

> OK

> 时间: 2.074s

 

 

 

  • mysql8 测试结果

 

  1. 准备工作 (和mysql5.6 一样的表和函数功能)

 

新建测试表index_test`

Sql语句:

CREATE TABLE `index_test` (

  `id` bigint(20) NOT NULL AUTO_INCREMENT,

  `USER` varchar(16) DEFAULT NULL,

  `psd` varchar(64) DEFAULT NULL,

  PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=477162 DEFAULT CHARSET=utf8;

 

新建测试函数:insert_data

CREATE DEFINER=`root`@`localhost` PROCEDURE `insert_data`(IN num INT)

BEGIN

DECLARE n INT DEFAULT 1;/*定义一个变量,存储当前执行的次数*/

WHILE n <= num

DO

  INSERT INTO index_test(USER,psd) VALUES(concat('用户',n),n);

 

set n=n+1;

end while;

END

 

2)插入十万条记录运行时间

运行函数:100000 次(插入十万条记录)

 

运行结果:

Procedure executed successfully

 

时间: 0.002s

 

Procedure executed successfully

 

时间: 281.973s

 

3)查询十万条记录结果

Sql语句:

SELECT * FROM index_test;

运行结果:

SELECT * FROM index_test

> OK

> 时间: 3.575s

 

  • Mysql5.7 测试表函数和上面的一致,结果见对比结果

 

  • 结果对比

第一次  十万写读 分别执行

主机

写入记录

读取记录

备注

RDSmysql5.6

38.724s

2.074s

2核4G

150 mysql8

281.973s

3.575s

8核16G

131 mysql5.7

314.207s

3.414s

4核8G

第二次  十万写读 写入同时执行

主机

写入记录

读取记录

 

RDSmysql5.6

38.263s

3.823s

 

150 mysql8

288.926s

0.567s

 

131 mysql5.7

313.927s

3.429s

 

 

第三次  二十万写读 写入同时执行

主机

写入记录

读取记录

 

RDSmysql5.6

75.707s

0.856s

 

150 mysql8

557.127s

8.06s

 

131 mysql5.7

646.716s

7.893s

 

 

Mysqlslap 工具测试

# mysqlslap --host=47.95.100.100 --port=3306 --user=root --password='111' --concurrency=10  --create-schema=world --query="CALL insert_data(1000);"

# mysqlslap --host=47.95.100.100 --port=3306 --user=root --password='111' --concurrency=10  --create-schema=world --query="select * from index_test limit 1000;"

 

并发10用户写入1000条记录到同一测试表  并发10用户查询1000条记录

主机

写入记录

读取记录

 

RDSmysql5.6

0.916

0.017s

 

150 mysql8

26.635

0.449

 

131 mysql5.7

6.280

0.284s

 

 

# mysqlslap --host=47.95.100.100 --port=3306 --user=root --password='111' --concurrency=100  --create-schema=world --query="CALL insert_data(1000);"

# mysqlslap --host=47.95.100.100 --port=3306 --user=root --password='111' --concurrency=100  --create-schema=world --query="select * from index_test limit 1000;"

 

并发100用户写入1000条记录到同一测试表  并发100用户查询1000条记录

主机

写入记录

读取记录

 

RDSmysql5.6

10.473

0.079

 

150 mysql8

265.400

5.431

 

131 mysql5.7

11.040

4.079

 

 

你可能感兴趣的:(mysql)