首页 > 数据库 >一文搞定MySQL性能调优

一文搞定MySQL性能调优

时间:2023-02-18 12:34:21浏览次数:36  
标签:搞定 log 调优 innodb MySQL 磁盘 CPU size


数据库的操作越来越成为整个应用的性能瓶颈,这对于Web应用尤其明显。关于数据库的性能,这并不只是DBA需要关心的,而更是后端开发需要去关注的事情。

所以本文讲解MySQL在各个方面的优化方向,方便后端开发人员在调优和问题排查过程中找到切入点。

1.服务器硬件的优化

提升硬件设备,例如选择尽量高频率的内存(频率不能高于主板的支持)、提升网络带宽、使用SSD高速磁盘、提升CPU性能等。

CPU的选择:

对于数据库并发比较高的场景,CPU的数量比频率重要。
对于CPU密集型场景和频繁执行复杂SQL的场景,CPU的频率越高越好。

2.MySQL数据库配置优化

表示缓冲池字节大小。
推荐值为物理内存的50%~80%。
innodb_buffer_pool_size

用来控制redo log刷新到磁盘的策略。
innodb_flush_log_at_trx_commit=1

每提交1次事务同步写到磁盘中,可以设置为n。
sync_binlog=1

脏页占innodb_buffer_pool_size的比例时,触发刷脏页到磁盘。 推荐值为25%~50%。
innodb_max_dirty_pages_pct=30

后台进程最大IO性能指标。
默认200,如果SSD,调整为5000~20000
innodb_io_capacity=200

指定innodb共享表空间文件的大小。
innodb_data_file_path

慢查询日志的阈值设置,单位秒。
long_qurey_time=0.3

mysql复制的形式,row为MySQL8.0的默认形式。
binlog_format=row

调高该参数则应降低interactive_timeout、wait_timeout的值。
max_connections=200

过大,实例恢复时间长;过小,造成日志切换频繁。
innodb_log_file_size

全量日志建议关闭。
默认关闭。
general_log=0


标签:搞定,log,调优,innodb,MySQL,磁盘,CPU,size
From: https://blog.51cto.com/liuyunshengsir/6065304

相关文章

  • 基于centos7部署 Seafile 服务器流程(使用MySql)
    官方搭建教程(home-SeafileCloud)1.下载seafile7.0*版本(好像是官方7.0*版本后都不支持centos7了。)下载地址:SeafileServer例如: 2.将下载的文件放好、解压(可以使用F......
  • 【MySQL】事务日志 undo log 详解
    Redolog是事务持久性的保证,Undolog是事务原子性的保证。在事务中更新数据的前置操作其实就是要写入Undolog。1.Undo日志引入:事务需要保证原子性,也就是事务中的操作要么......
  • 「推荐收藏!」【MySQL技术之旅】(4)总结和盘点优化方案系列之常用SQL的优化
    概述前面我们介绍了MySQL中怎么样通过索引来优化查询。日常开发中,除了使用查询外,我们还会使用一些其他的常用SQL,比如INSERT、GROUPBY等。对于这些SQL语句,我们该怎么样进行......
  • MySql语句中,select和update使用case when then end笔记
    在日常项目中,mysql的casewhenthenend还是比较有意思的,请看例子:select的使用数据表结构:执行语句:SELECTcount(*),CASEWHENrole_countbetween1and100TH......
  • ububtu20.04下MySQL的安装及使用Navicat连接数据库
    ububtu20.04下最新版本MySQL的安装及使用Navicat连接数据库一、MySQL的安装先通过如下命令更新软件包:sudoapt-getupdate再通过如下命令安装MySQL:sudoapt......
  • Linux C 操作MySQL
    概述MySQL安装时,请确保安装了MySQL-server、MySQL-client、MySQL-devel。安装过程请参考:​​https://blog.51cto.com/weiyuqingcheng/5753459​​整理MySQLinclude目录#创......
  • 外部连接不上 docker内的Mysql,telnet不通3306
    本机vm打开虚拟机后,自动启动mysql,查看容器运行一切正常:dockerps-a 所有映射的端口,在外部都telnet不通,比如3306、6379等都不行。想着在别人都ok的,在我这里不行,问题......
  • mysql主从同步异常修复
    说明mysql集群部署在k8s上,架构是“一主两从”,机房突然断电,导致mysql集群启动之后,发生主从同步异常。主库上查看binlog信息:mysql>showmasterstatus\G;*********......
  • windwos下 UE5连接mysql
    windwos下UE5连接mysql1.确定mysql版本与对应的mysql-connector版本我使用的:mysql-8.0.31-winx64:https://downloads.mysql.com/archives/installer/mysql-connec......
  • 3.mysql事务
    mysql事务事务:什么是事务事务是访问和更新数据库的程序执行单元,一个事务中可能包含一个或多个sql语句,且这些语句要么都执行,要么都不执行mysql逻辑架构如上图,mys......