mysql 5.7.15 vs mysql 5.6.31性能测试以及不同linux内核性能比较
最近,将部分开发和测试环境的mysql升级到5.7之后,今天抽时间测试了下5.6和5.7 PK查询的性能,使用mysqlslap进行测试,测试结果发现在低配下,percona 5.6.31大约比5.7.15快20-30%左右,percona 5.7.15比mysql企业版5.7.16快10%左右,如下:
--mysql企业版
mysqlslap -h172.18.30.62 -P3306 --concurrency=200 --create-schema='spider' --query='select * from test_250byte where id=1;' --number-of-queries=1000000 -uroot -p123456
mysqlslap: [Warning] Using a password on the command line interface can be insecure.
Benchmark
Average number of seconds to run all queries: 72.719 seconds
Minimum number of seconds to run all queries: 72.719 seconds
Maximum number of seconds to run all queries: 72.719 seconds
Number of clients running queries: 200
Average number of queries per client: 5000
--percona 5.7.15
[root@dev-server1 ~]# mysqlslap -h172.18.30.62 -P3306 --concurrency=200 --create-schema='spider' --query='select * from test_250byte where id=1;' --number-of-queries=1000000 -uroot -p123456
mysqlslap: [Warning] Using a password on the command line interface can be insecure.
Benchmark
Average number of seconds to run all queries: 66.628 seconds
Minimum number of seconds to run all queries: 66.628 seconds
Maximum number of seconds to run all queries: 66.628 seconds
Number of clients running queries: 200
Average number of queries per client: 5000
[root@dev-server1 ~]# mysqlslap -h172.18.30.62 -P3306 --concurrency=200 --create-schema='spider' --query='select * from test_250byte where id=1;' --number-of-queries=1000000 -uroot -p123456
mysqlslap: [Warning] Using a password on the command line interface can be insecure.
Benchmark
Average number of seconds to run all queries: 66.278 seconds
Minimum number of seconds to run all queries: 66.278 seconds
Maximum number of seconds to run all queries: 66.278 seconds
Number of clients running queries: 200
Average number of queries per client: 5000
--percona 5.6.31
[root@dev-server1 ~]# mysqlslap -h172.18.30.62 -P3306 --concurrency=200 --create-schema='spider' --query='select * from test_250byte where id=1;' --number-of-queries=1000000 -uroot -p123456
mysqlslap: [Warning] Using a password on the command line interface can be insecure.
Benchmark
Average number of seconds to run all queries: 55.878 seconds
Minimum number of seconds to run all queries: 55.878 seconds
Maximum number of seconds to run all queries: 55.878 seconds
Number of clients running queries: 200
Average number of queries per client: 5000
[root@dev-server1 ~]# mysqlslap -h172.18.30.62 -P3306 --concurrency=200 --create-schema='spider' --query='select * from test_250byte where id=1;' --number-of-queries=1000000 -uroot -p123456
mysqlslap: [Warning] Using a password on the command line interface can be insecure.
Benchmark
Average number of seconds to run all queries: 57.169 seconds
Minimum number of seconds to run all queries: 57.169 seconds
Maximum number of seconds to run all queries: 57.169 seconds
Number of clients running queries: 200
Average number of queries per client: 5000
[root@dev-server1 ~]# mysqlslap -h172.18.30.62 -P3306 --concurrency=200 --create-schema='spider' --query='select * from test_250byte where id=1;' --number-of-queries=1000000 -uroot -p123456
mysqlslap: [Warning] Using a password on the command line interface can be insecure.
Benchmark
Average number of seconds to run all queries: 51.820 seconds
Minimum number of seconds to run all queries: 51.820 seconds
Maximum number of seconds to run all queries: 51.820 seconds
Number of clients running queries: 200
Average number of queries per client: 5000
[root@dev-server1 ~]# mysqlslap -h172.18.30.62 -P3306 --concurrency=200 --create-schema='spider' --query='select * from test_250byte where id=1;' --number-of-queries=1000000 -uroot -p123456
mysqlslap: [Warning] Using a password on the command line interface can be insecure.
Benchmark
Average number of seconds to run all queries: 52.817 seconds
Minimum number of seconds to run all queries: 52.817 seconds
Maximum number of seconds to run all queries: 52.817 seconds
Number of clients running queries: 200
Average number of queries per client: 5000
因为mysql 5.7相比mysql 5.6增加了很多新的特性、同时新增了很多后台线程,所以在达到mysql 5.6的最大并发之前,mysql 5.6在性能上比mysql 5.7更高并不奇怪。因为我们大量服务器部署于阿里云和虚拟化环境,所以不打算也不计划测试在64GB以上的环境。后续会测试在16C/16GB和16C/32GB环境下两者的情况。
上述测试基于centos 7.2,linux内核3.10。
同时,需要注意的是,在不同的vm实例中,即使配置和型号完全相同,也有可能出现TPS上下相差10-20%的情况,这一点尤其需要注意,因为任何时候cpu/内存/服务器进程/线程等都可能在不同程度的运行,即使是空环境亦如此。另外,还需要注意不同的linux/内核版本可能导致性能相差比较大。
在另一个centos 6.3,内核2.6.32的VM实例中,percona 5.6.31的测试如下(平均TPS达到22000)(7.0相同配置下平均18000左右):
[root@dev-server1 ~]# mysqlslap -h172.18.30.193 -P3306 --concurrency=200 --create-schema='spider' --query='select * from test_250byte where id=1;' --number-of-queries=1000000 -uroot -pLd123123
mysqlslap: [Warning] Using a password on the command line interface can be insecure.
Benchmark
Average number of seconds to run all queries: 42.936 seconds
Minimum number of seconds to run all queries: 42.936 seconds
Maximum number of seconds to run all queries: 42.936 seconds
Number of clients running queries: 200
Average number of queries per client: 5000
[root@dev-server1 ~]# mysqlslap -h172.18.30.193 -P3306 --concurrency=200 --create-schema='spider' --query='select * from test_250byte where id=1;' --number-of-queries=1000000 -uroot -pLd123123
mysqlslap: [Warning] Using a password on the command line interface can be insecure.
Benchmark
Average number of seconds to run all queries: 43.359 seconds
Minimum number of seconds to run all queries: 43.359 seconds
Maximum number of seconds to run all queries: 43.359 seconds
Number of clients running queries: 200
Average number of queries per client: 5000
[root@dev-server1 ~]# mysqlslap -h172.18.30.193 -P3306 --concurrency=200 --create-schema='spider' --query='select * from test_250byte where id=1;' --number-of-queries=1000000 -uroot -pLd123123
mysqlslap: [Warning] Using a password on the command line interface can be insecure.
Benchmark
Average number of seconds to run all queries: 47.033 seconds
Minimum number of seconds to run all queries: 47.033 seconds
Maximum number of seconds to run all queries: 47.033 seconds
Number of clients running queries: 200
Average number of queries per client: 5000
------------晚上临时找了两个环境,测试了下centos 6.5 8C/16GB阿里云下,如下-------------------
percona 5.7.15
[root@iZbp11t4fzcyfwa9k5eb77Z ~]# mysqlslap -hXXX -P3306 --concurrency=200 --create-schema='spider' --query='select * from test_250byte where id=1;' --number-of-queries=1000000 -uroot -p123456
Warning: Using a password on the command line interface can be insecure.
Benchmark
Average number of seconds to run all queries: 28.632 seconds
Minimum number of seconds to run all queries: 28.632 seconds
Maximum number of seconds to run all queries: 28.632 seconds
Number of clients running queries: 200
Average number of queries per client: 5000
[root@iZbp11t4fzcyfwa9k5eb77Z ~]# mysqlslap -hXXX -P3306 --concurrency=400 --create-schema='spider' --query='select * from test_250byte where id=1;' --number-of-queries=1000000 -uroot -p123456
Warning: Using a password on the command line interface can be insecure.
Benchmark
Average number of seconds to run all queries: 26.167 seconds
Minimum number of seconds to run all queries: 26.167 seconds
Maximum number of seconds to run all queries: 26.167 seconds
Number of clients running queries: 400
Average number of queries per client: 2500
[root@iZbp11t4fzcyfwa9k5eb77Z ~]# 2016-11-10T11:37:06.099118Z mysqld_safe mysqld from pid file /usr/local/Percona-Server-5.7.15-9-Linux.x86_64.ssl101/data/iZbp14bngbtxcrrha173qvZ.pid ended
[root@iZbp11t4fzcyfwa9k5eb77Z ~]#
[root@iZbp11t4fzcyfwa9k5eb77Z ~]#
[root@iZbp11t4fzcyfwa9k5eb77Z ~]#
[root@iZbp11t4fzcyfwa9k5eb77Z ~]# mysqlslap -hXXX -P3306 --concurrency=400 --create-schema='spider' --query='select * from test_250byte where id=1;' --number-of-queries=1000000 -uroot -p123456
Warning: Using a password on the command line interface can be insecure.
Benchmark
Average number of seconds to run all queries: 26.266 seconds
Minimum number of seconds to run all queries: 26.266 seconds
Maximum number of seconds to run all queries: 26.266 seconds
Number of clients running queries: 400
Average number of queries per client: 2500
[root@iZbp11t4fzcyfwa9k5eb77Z ~]#
[root@iZbp11t4fzcyfwa9k5eb77Z ~]#
[root@iZbp11t4fzcyfwa9k5eb77Z ~]#
[root@iZbp11t4fzcyfwa9k5eb77Z ~]# mysqlslap -hXXX -P3306 --concurrency=400 --create-schema='spider' --query='select * from test_250byte where id=1;' --number-of-queries=1000000 -uroot -p123456
Warning: Using a password on the command line interface can be insecure.
Benchmark
Average number of seconds to run all queries: 25.370 seconds
Minimum number of seconds to run all queries: 25.370 seconds
Maximum number of seconds to run all queries: 25.370 seconds
Number of clients running queries: 400
Average number of queries per client: 2500
[root@iZbp11t4fzcyfwa9k5eb77Z ~]#
[root@iZbp11t4fzcyfwa9k5eb77Z ~]#
[root@iZbp11t4fzcyfwa9k5eb77Z ~]# mysqlslap -hXXX -P3306 --concurrency=600 --create-schema='spider' --query='select * from test_250byte where id=1;' --number-of-queries=1000000 -uroot -p123456
Warning: Using a password on the command line interface can be insecure.
Benchmark
Average number of seconds to run all queries: 24.399 seconds
Minimum number of seconds to run all queries: 24.399 seconds
Maximum number of seconds to run all queries: 24.399 seconds
Number of clients running queries: 600
Average number of queries per client: 1666
=====================
percona 5.6.31
[root@iZbp11t4fzcyfwa9k5eb77Z ~]# mysqlslap -hXXX -P3306 --concurrency=200 --create-schema='spider' --query='select * from test_250byte where id=1;' --number-of-queries=1000000 -uroot -p123456
Warning: Using a password on the command line interface can be insecure.
Benchmark
Average number of seconds to run all queries: 29.882 seconds
Minimum number of seconds to run all queries: 29.882 seconds
Maximum number of seconds to run all queries: 29.882 seconds
Number of clients running queries: 200
Average number of queries per client: 5000
[root@iZbp11t4fzcyfwa9k5eb77Z ~]# mysqlslap -hXXX -P3306 --concurrency=400 --create-schema='spider' --query='select * from test_250byte where id=1;' --number-of-queries=1000000 -uroot -p123456
Warning: Using a password on the command line interface can be insecure.
Benchmark
Average number of seconds to run all queries: 25.210 seconds
Minimum number of seconds to run all queries: 25.210 seconds
Maximum number of seconds to run all queries: 25.210 seconds
Number of clients running queries: 400
Average number of queries per client: 2500
[root@iZbp11t4fzcyfwa9k5eb77Z ~]# mysqlslap -hXXX -P3306 --concurrency=400 --create-schema='spider' --query='select * from test_250byte where id=1;' --number-of-queries=1000000 -uroot -p123456
Warning: Using a password on the command line interface can be insecure.
Benchmark
Average number of seconds to run all queries: 26.084 seconds
Minimum number of seconds to run all queries: 26.084 seconds
Maximum number of seconds to run all queries: 26.084 seconds
Number of clients running queries: 400
Average number of queries per client: 2500
[root@iZbp11t4fzcyfwa9k5eb77Z ~]# mysqlslap -hXXX -P3306 --concurrency=600 --create-schema='spider' --query='select * from test_250byte where id=1;' --number-of-queries=1000000 -uroot -p123456
Warning: Using a password on the command line interface can be insecure.
Benchmark
Average number of seconds to run all queries: 24.896 seconds
Minimum number of seconds to run all queries: 24.896 seconds
Maximum number of seconds to run all queries: 24.896 seconds
Number of clients running queries: 600
Average number of queries per client: 1666
基本上可以看出,在8C的配置下,mysql 5.6和5.7的性能已经比较接近的,按说配置再增加的情况下,5.7的扩展性会比5.6更好,且新增的很多额外线程的消耗会被抵销。
mysql 5.7.15 vs mysql 5.6.31性能测试以及不同linux内核性能比较的更多相关文章
- [MySQL Reference Manual]15. 其他存储引擎
15. 其他存储引擎 15. 其他存储引擎 15.1 设置存储引擎 15.2 MyISAM存储引擎 15.2.1 MyISAM启动选项 15.2.2 Key的空间要求 15.2.3 MyISAM表存储 ...
- PowerDesigner 15设置mysql主键自动增长及基数
PowerDesigner 15设置mysql主键自动增长及基数 1.双击标示图,打开table properties->columns, 如图点击图标Customize Columns an ...
- mysql 5.7.15单机主从快速搭建并配置复制表到不同库
一直以来因为线上系统盘中风控计算过于消耗资源,导致服务器负载太高,时常影响盘中交易的稳定性,最近决定了将风控拆分到独立的库进行计算,并进行回填操作. 总体来说,是将部分风控计算相关的表同步到备库,但是 ...
- Delphi 7连接MySql 5.5.15
原文:http://blog.csdn.net/akof1314/article/details/6822902/ 网上有很多关于Delphi连接MySql数据库的文章,在这里,我只记录下自己测试过的 ...
- Centos 6.4上面用Shell脚本一键安装mysql 5.6.15
Centos 6.4上面用Shell脚本一键安装mysql 5.6.15 #!/bin/bash if [ `uname -m` == "x86_64" ];then machi ...
- LNMP搭建(CentOS 6.3+Nginx 1.2.0+PHP 5.3.15(fpm)+ MySQL 5.5.35)
Nginx (“engine x”) 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 ...
- mysql查超过15分钟未付款的订单,更新为失效状态
个人打开自己的订单时,才检查超过15分钟未付款的订单, 暂不使用机器人,更新状态, Difference counter 差分计数器订单超过15分钟.mysql的时间戳差分比较 $sql = TIM ...
- Delphi 7连接MySql 5.5.15(转)
网上有很多关于Delphi连接MySql数据库的文章,在这里,我只记录下自己测试过的方法,以备所需.系统环境:Windows XP SP3软件环境:Delphi 7 .mysql-installer- ...
- (3.15)mysql基础深入——mysql默认数据库/系统数据库
(3.15)mysql基础深入——mysql默认数据库 关键词:Mysql默认数据库,mysql系统数据库 系统数据库的组成 一共4个 [1]information_schema(可以理解成字典表) ...
随机推荐
- GOF设计模式特烦恼
这段时间,学习状态比较一般,空闲时基本都在打游戏,和研究如何打好游戏,终于通过戏命师烬制霸LOL,玩笑了.为了和"学习"之间的友谊小船不翻,决定对以往学习过的GOF设计模式做一个简 ...
- Html与CSS快速入门04-进阶应用
这部分是html细节知识的学习. 快速入门系列--HTML-01简介 快速入门系列--HTML-02基础元素 快速入门系列--HTML-03高级元素和布局 快速入门系列--HTML-04进阶概念 之前 ...
- java持久层框架mybatis如何防止sql注入
看到一篇很好的文章:http://www.jfox.info/ava-persistence-framework-mybatis-how-to-prevent-sql-injection sql注入大 ...
- Android中常用控件及属性
在之前的博客为大家带来了很多关于Android和jsp的介绍,本篇将为大家带来,关于Andriod中常用控件及属性的使用方法,目的方便大家遗忘时,及时复习参考.好了废话不多讲,现在开始我们本篇内容的介 ...
- java中异常注意的细节1
/* public class Test{ public static void main(String[] args){ int i=0; try{ func();//区别就是该函数抛出的异常被封装 ...
- 《BI那点儿事》Microsoft 决策树算法
Microsoft 决策树算法是由 Microsoft SQL Server Analysis Services 提供的分类和回归算法,用于对离散和连续属性进行预测性建模.对于离散属性,该算法根据数据 ...
- 一键配置本地yum源
在使用RedHat系统过程中,经常会安装各种包,而包的安装又存在着依赖性的问题,即一个包的安装通常依赖其它很多包的安装.这样,就会相当不便.所幸,RedHat提供了Yum.Yum(全称为 Yellow ...
- Oracle循环语句
PL/SQL有四种类型的循环:简单循环.WHILE循环.FOR循环以及游标FOR循环.在这里我们主要讨论前三种,除此之外,还将讨论Oracle 11g中新引入的CONTINUE语句. 一. 简单循环 ...
- Oracle数据库常见的误操作恢复方法(上)
实验环境:Linux6.4 + Oracle 11g 面向读者:Oracle开发维护人员 概要: 1.误操作drop了emp表 2.误操作delete了emp表 3.误操作delete了emp表的部分 ...
- [emacs] Drawing uml under emacs org-mode using plantUML - 类图
[emacs] Drawing uml under emacs org-mode using plantUML - 类图 // */ // ]]> [emacs] Drawing uml u ...