Percona server 介绍及与mysql对比 及安装

提到 MySQL, 我们不得不说说其两大重要的时间点

  • 2008 年 Sun 收购 MySQL AB
  • 2010 年 Oracle 收购 Sun

在 MySQL 两次易主的过程中,开发者们普遍担心某一天 MySQL 会成为一个非开源的收费版本,所以在此期间出现了很多类 MySQL 的 RDBMS。然而到目前为止,主要有两个久经考验的 RDBMS 分别为:Percona server for MySQL 和 MariaDB。

今天我们主要来介绍下 Percona server for MySQL***

Percona server for MySQL

发展史

  • 2008.12.16 年第一个版本 Percona Server 1.0.2 正式 release
  • 2018.03.31 年最新的版本 Percona Server 5.7.22-22 正式 release

服务特性

Percona 其实是基于 MySQL 的一个分支开发的,然后做了一系列的功能优化和完善,主要包括

  • 完全兼容 MySQL 协议
  • Bug 修复
  • 性能优化
  • 支持 MySQL 社区版和企业版功能特性
  • 丰富的性能诊断工具

我们来详细介绍下其中几项功能优化

MySQL 企业版功能特性

Threadpool

MySQL 针对每个连接请求会单独分配一个线程。一旦连接的数量超过一定的阈值,性能反而会直线下降。

使用 Threadpool(线程池)技术,在有大量客户端短事务连接的场景下,仍然可以保持较少的线程数量,从而减少上下文切换和热锁的争用,从而保证服务性能不受连接数影响。

我们来看下有无 Threadpool 的性能差异,数据来源 Percona Server: Improve Scalability with Percona Thread Pool

IO bound: sysbench dataset 32 tables/12M rows each (~100GB), InnoDB buffer pool=25GB 

In-memory/CPU bound: sysbench dataset 32 tables/12M rows each (~100GB), InnoDB buffer pool=100GB 

PAM Authentication

PAM(Pluggable Authentication Modules),提供了更灵活、更安全的权限配置管理插件。

丰富的性能诊断工具

更多统计信息

  • Show global status 与 show global variables 将额外统计更多信息
  • Show engine innodb status 更详细输出,比如:
    • 日志相关项:Max checkpoint age, Checkpoint age target, Modified age, Checkpoint age
    • 内存使用相关项:Internal Hash Tables, Buffer pool size in bytes
    • 行操作相关项:Count of RW transactions occurring inside InnoDB

更强大的分析命令

show 和 explain 将输出更详细的内容,用于性能剖析。

细粒度资源使用统计

支持userstat,用于性能调优或资源控制。

更多插件

推荐直方图插件,从 SQL 执行次数和响应时间两个维度统计慢查询,量化数据库性能指标。

性能优化

XtraDB

这是 Percona 独有的,可以认为是 InnoDB 存储引擎的增强版,并且完全兼容 InnoDB。

Buffer Pool 优化

我们来看下有无 buffer pool 优化后的性能差异,数据来源 A closer look at Percona Server 5.6

Throughput (more is better): 

95% Response time (less is better): 

完全兼容 MySQL 协议

如果你原先使用的是 MySQL 服务作为你的数据库存储服务,由于 Percona 是完全兼容 MySQL 协议的,所以从 MySQL 服务切换到 Percona 服务会是一个很平滑过程,对于业务侧而言基本可以理解为无改动。

 

1.1 、什么是 percona
Percona MySQL 数据库服务器进行了改进,在功能和性能上较 MySQL 有着很显著的提升。该版本提升了在高
负载情况下的 InnoDB 的性能、为 DBA 提供一些非常有用的性能诊断工具;另外有更多的参数和命令来控制服务
器行为。
Percona Server 只包含 MySQL 的服务器版,并没有提供相应对 MySQL Connector GUI 工具进行改进。
Percona Server 使用了一些 google-mysql-tools, Proven Scaling, Open Query MySQL 进行改造。
 
 
1.2 、安装部署
测试:
# 镜像地址: https://hub.docker.com/_/percona/
# 拉取镜像
docker pull percona:5.7.23
# 创建容器
docker create --name percona -v /data/mysql-data:/var/lib/mysql -p 3306 :3306 -e
MYSQL_ROOT_PASSWORD = root percona:5.7.23
# 参数解释:
--name percona 指定是容器的名称
-v /data/mysql-data:/var/lib/mysql 将主机目录 /data/mysql-data 挂载到容器
/var/lib/mysql
-p 33306 :3306 设置端口映射,主机端口是 33306 ,容器内部端口 3306
-e MYSQL_ROOT_PASSWORD = root 设置容器参数,设置 root 用户的密码为 root
percona:5.7.23 : 镜像名 : 版本
# 启动容器
docker start percona
 
 
  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值