鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

使用说明

建议关注MySQL官网MySQL 8.0.20版本的CVE漏洞,按照要求及时进行漏洞修复。

版本说明

MySQL细粒度锁优化特性随Kunpeng Computing DC Solution 20.0.3版本发布。

应用场景

OLTP负载中,存在较多写类型操作时(update/insert/delete),MySQL中的全局latch可能成为影响吞吐量的主因。如果通过Performance Schema观测到lock_mutex热点(此时CPU利用率通常不高),可通过本特性缓解这处竞争,提升系统吞吐量。

MySQL细粒度锁优化特性在补丁应用后重新编译MySQL即生效,无需额外配置系统变量。

编译安装方法

MySQL细粒度锁优化特性以Patch补丁文件形式提供,该补丁基于MySQL 8.0.20版本开发,并在Gitee社区开源,使用该特性前,需要先将Patch应用到MySQL源码中,再编译和安装MySQL。具体操作步骤如下:

  1. 下载MySQL 8.0.20源码,上传源码至服务器“/home”目录下后,解压源码包并进入MySQL源码的根目录。
    cd /home
    tar -zxvf mysql-boost-8.0.20.tar.gz
    cd mysql-8.0.20
  2. 下载MySQL细粒度锁优化特性Patch,并上传至MySQL源码的根目录。
  3. 解压源码包并进入MySQL源码目录。
    tar -zxvf mysql-boost-8.0.20.tar.gz
    cd mysql-8.0.20
  4. 在源码根目录,使用git初始化命令来建立git管理信息。
    git init
    git add -A
    git commit -m "Initial commit"
    • 一般情况下,系统自带git,若需要安装git,请先参见《MySQL 移植指南》中配置Yum源相关内容,再执行如下命令安装git。
      1
      yum install git
      
    • 若未配置git的提交用户信息,git commit前需要先配置用户邮件及用户名称信息。
      1
      2
      git config user.email "123@example.com"
      git config user.name "123"
      
  5. (可选)如果没有配置Yum源,请配置Yum源,详细信息请参见配置Yum源
  6. (可选)如果没有安装dos2unix,请执行如下命令安装dos2unix。
    yum install dos2unix
  7. 合入MySQL细粒度锁优化特性补丁。
    1
    2
    3
    dos2unix 0001-SHARDED-LOCK-SYS.patch
    git apply --check 0001-SHARDED-LOCK-SYS.patch
    git apply --whitespace=nowarn 0001-SHARDED-LOCK-SYS.patch
    

    如果没有回显报错信息,则补丁应用成功。

  8. 根据正常的编译安装MySQL源码的操作步骤进行MySQL的编译安装。详细信息请参见《MySQL 移植指南》。
  9. (可选)通过TPC-C测试可以得到使用MySQL细粒度锁优化特性前后的性能提升效果,详细测试步骤请参见《BenchMarkSQL 测试指导》。

    MySQL细粒度锁优化特性可以使TPC-C综合性能提升10%。

    图1 MySQL细粒度锁优化特性优化前后性能对比