搜索

pdf文档 MySQL 8.0.17 调优指南(openEuler 20.09)

223.31 KB 11 页 1 下载 92 浏览 0 评论 0 收藏
所属分类: 数据库 / MySQL
语言 格式 评分
中文(简体)
.pdf
3
摘要
本文档主要介绍了MySQL 8.0.17在openEuler 20.09系统下的调优方法,包括缓存参数调优、内核优化、网络参数调优、IO参数调优以及mysql进程绑核等内容。文档详细说明了通过调整Linux系统参数、优化内核配置、设置网络和IO调度参数,以提升服务器性能的方法。同时,还提供了BIOS配置优化和硬件调优的建议,旨在帮助用户更好地优化MySQL数据库性能。
AI总结
### MySQL 8.0.17 调优指南(openEuler 20.09)总结 #### 1. MySQL 介绍 - MySQL 是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,现属于Oracle旗下。 - MySQL 是目前最流行的Web应用数据库之一,支持标准化SQL语言,提供社区版和商业版。 - 其体积小、速度快、成本低,适合中小型网站。 --- #### 2. 调优原则 - **全面分析**:系统性能瓶颈可能是多方面(硬件、操作系统、数据库等)导致,需综合分析。 - **单参数调整**:每次只调整一个参数,便于分析影响。 - **工具影响**:性能分析工具本身会占用资源,需注意其对系统的影响。 - **正确性优先**:调优需确保程序运行正确,不能牺牲代码的可读性和可维护性。 - **迭代优化**:调优结果需反馈到后续开发中,逐步优化。 --- #### 3. 调优思路 - 定位性能瓶颈:从网络、硬件、操作系统、数据库到应用程序逐步排查。 - 分析关键指标:CPU、内存、磁盘I/O、网络I/O、等待事件、内存命中率等。 - 优化方法:根据瓶颈问题,调整硬件配置、操作系统参数或数据库配置。 --- #### 4. 操作系统调优 ##### 4.1 网络参数调优 - **net.core.wmem_max**:发送套接字缓冲区大小,默认229376,建议调整为16777216。 ```bash echo 16777216 > /proc/sys/net/core/wmem_max ``` - **net.ipv4.tcp_rmem**:发送套接字缓冲区大小,默认4096 87380 16777216,建议调整为4096 87380 16777216。 ```bash echo "4096 87380 16777216" > /proc/sys/net/ipv4/tcp_rmem ``` - **net.ipv4.tcp_wmem**:写缓冲区大小,默认4096 16384 4194304,建议调整为4096 65536 16777216。 ```bash echo "4096 65536 16777216" > /proc/sys/net/ipv4/tcp_wmem ``` - **net.ipv4.tcp_max_syn_backlog**:最大TIME_WAIT套接字数量,默认2048,建议调整为360000。 ```bash echo 360000 > /proc/sys/net/ipv4/tcp_max_syn_backlog ``` ##### 4.2 IO 参数调优 - **IO调度算法**:设置为`deadline`或`noop`,适用于MySQL场景。 ```bash echo deadline > /sys/block/$device/queue/scheduler ``` - **提升磁盘吞吐量**:调整`nr_requests`值,建议设置为2048。 ```bash echo 2048 > /sys/block/$device/queue/nr_requests ``` ##### 4.3 缓存参数调优 - **swappiness**:值越小,越优先使用内存。建议设置为1。 ```bash echo 1 > /proc/sys/vm/swappiness ``` - **dirty_ratio**:内存脏数据百分比,默认20%,建议调整为5%。 ```bash echo 5 > /proc/sys/vm/dirty_ratio ``` ##### 4.4 内核优化 - **关闭refcount_full**:在内核配置中关闭该功能。 - **idle_balance特性**:新增STEAL流程,简化判断逻辑,提升CPU利用率。 - **开启sched_steal_node_limit**:在GRUB配置中添加参数`sched_steal_node_limit=8`,重启生效。 ```bash echo STEAL > /sys/kernel/debug/sched_features ``` ##### 4.5 MySQL 进程绑核 - 将MySQL进程绑定到指定CPU,并启用内存交错模式。 ```bash numactl -C 0-92 -i 0-3 /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf & ``` --- #### 5. 硬件调优 ##### 5.1 BIOS 配置 - **关闭SMMU**:在非虚拟化场景下关闭SMMU。 - **关闭CPU预取**:在BIOS中设置`CPU Prefetching Configuration`为`Disabled`。 --- #### 6. 总结 - 通过操作系统、硬件和数据库的综合调优,可以显著提升MySQL性能。 - 调整参数时需注意系统稳定性,建议在测试环境中验证后再生产环境应用。
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
下载文档到本地,方便使用
文档评分
请文明评论,理性发言.