MySQL 关于性能的参数配置梳理
以下List是我们常见的MySQL参数配置,这个参数对提高实例的性能大有裨益。
其中 建议设置值,仅供参考,需要根据自己的业务场景和硬件资源仔细推敲。
| 参数 | 设置说明 | 建议设置值 |
| lower_case_table_names | 大小写敏感:此参数不可以动态修改,必须重启数据库: 0.表名存储为给定的大小和比较是区分大小写的 1.表名存储在磁盘是小写的,但是比较的时候是不区分大小写 2.表名存储为给定的大小写但是比较的时候是小写的 |
0 |
| max_connections | 最大链接数据 | 2000 |
| max_connect_errors | 某一客户端链接失败的情况下尝试连接MySQL服务器最大尝试次数 | 100 |
| sort_buffer_size | 排序缓冲增加sort_buffer_size值可以加速ORDER BY或GROUP BY操作 想要加快ORDER BY的速度,首先看是否可以让MySQL使用索引而不是额外的排序阶段 |
8388608 |
| join_buffer_size | 联合查询缓冲此缓冲被使用来优化全联接(FULL JOINS 不带索引的联接), 类似的联接在极大多数情况下有非常糟糕的性能表现,但是将此值设大能够减轻性能影响。如果全局大小比使用它的大多数查询都大,那么内存分配时就会导致性能下降 |
8388608 |
| tmp_table_size | 规定了内部内存临时表的最大值,每个线程都要分配。这两个参数是mysql对临时表的大小控制,tmp_table_size 控制内存临时表的最大值,超过限值后就往硬盘写,写的位置由变量 tmpdir 决定;max_heap_table_size 用户可以创建的内存表(memory table)的大小.这个值用来计算内存表的最大行数值。 |
67108864 |
| max_heap_table_size | 67108864 | |
| innodb_buffer_pool_size | innodb缓冲池,用来缓存InnoDB索引页面、Undo页面以及一些其它辅助数据。 | 一般为物理内存的75%-85% |
| innodb_buffer_pool_instances | 将InnoDB缓冲池划分为多个实例适当地增加该参数,可以提升InnoDB的并发性能。通过这个参数,把原来一整块Buffer Pool分割为多块内存空间,每个空间独立管理自己的空闲链表、刷新链表、LRU及其它数据结构。 | |
| innodb_buffer_pool_dump_pct | InnoDB缓存池预热恢复buffer pool中百分比数据 | 40 |
| innodb_flush_log_at_trx_commit | 0:log buffer每秒一次写入log file,并且log file的flush(刷到磁盘)操作同时进行。该模式下在事务提交的时候,不会主动触发写入磁盘的操作。 1:每次事务提交时MySQL都会把log buffer的数据写入log file,并且flush(刷到磁盘)中去,该模式为系统默认。 2:每次事务提交时MySQL都会把log buffer的数据写入log file,但是flush(刷到磁盘)操作并不会同时进行。该模式下,MySQL会每秒执行一次 flush(刷到磁盘)操作 |
1 |
| slow_query_log | 开启慢查询日志,默认关闭. | 1 |
| log_slow_slave_statements | 记录由Slave所产生的慢查询,默认值OFF。 | 1 |
| log_queries_not_using_indexes | 将没有使用索引的SQL语句记录到慢查询日志文件中,默认值OFF。 | 1 |
| log_throttle_queries_not_using_indexes | 来限制每分钟可以写入慢查询日志的数量。 | 10 |
| long_query_time | 慢查询超时时间,默认10秒修改为1秒。 | 1 |
| thread_cache_size |
重用保存在缓存中线程的数量:如果Threads_created值过大MySQL服务器一直在创建线程,比较耗资源,可以适当增加配置文件中thread_cache_size值。缓存命中率:Thread_Cache_Hit |
256 |
| innodb_io_capacity | InnoDB有后台线程在不断地做Flush操作,影响这个操作频率的就是这个innodb_io_capacity参数。如果碰到系统因为后台Flush操作而产生周期性性能降低的情况,特别是在使用SSD设备的时候,可以适当提高这个参数的值,以加速Flush的频率。(但 For systems with individual 5400 RPM or 7200 RPM drives, you might lower the value to the former default of 100.) | 32768 (SSD 配置) |
| innodb_thread_concurrency | 在并发量大的实例上,增加这个值,可以降低InnoDB在并发线程之间切换的花销,以增加系统的并发吞吐量。 | 32 |
| slave_parallel_workers | 在进行多线程复制的时候,如果设置此参数为非零值,则可以打开多线程并发执行回放日志的操作,以提升Slave的同步性能。 | 16 |
| sync_binlog | MySQL 同步Binlog到磁盘的方式。1 最安全,但性能较差,每一个事务提交时,MySQL都会把Binlog刷新到磁盘中;0性能最好,但不安全。事务提交时,MySQL将Binlog信息写入到Binlog文件(OS Cache)中,但是MySQL不控制Binlog的刷盘操作,由文件系统自己控制其缓存的刷新 | 0 |
| tx_isolation | 设置MySQL的隔离级别,读未提交(read-uncommitted);不可重复读(read-committed);可重复读(repeatable-read);串行化(serializable)。这四种级别越来越严格。 | REPEATABLE-READ |
| binlog_order_commits | 事务在提交的时候写入Binlog的顺序。这是把双刃剑,如果打开可以保证事务都以相同的顺序写入二进制文件,如果关闭则可以提升性能。需要根据实际情况决定。 | on |
| max_allowed_packet | MySQL发送和接受的最大数据包大小,设置过小会导致数据包分裂情况严重。 | 134217728 |
| thread_stack | 每个连接线程被创建时,MySQL给它分配的内存大小。 | 262144 |
MySQL 关于性能的参数配置梳理的更多相关文章
- Spark 性能相关参数配置详解-任务调度篇
随着Spark的逐渐成熟完善, 越来越多的可配置参数被添加到Spark中来, 本文试图通过阐述这其中部分参数的工作原理和配置思路, 和大家一起探讨一下如何根据实际场合对Spark进行配置优化. 由于篇 ...
- Spark 性能相关参数配置详解-压缩与序列化篇
随着Spark的逐渐成熟完善, 越来越多的可配置参数被添加到Spark中来, 本文试图通过阐述这其中部分参数的工作原理和配置思路, 和大家一起探讨一下如何根据实际场合对Spark进行配置优化. 由于篇 ...
- Spark 性能相关参数配置详解-shuffle篇
随着Spark的逐渐成熟完善, 越来越多的可配置参数被添加到Spark中来, 在Spark的官方文档http://spark.apache.org/docs/latest/configuration. ...
- Spark 性能相关参数配置详解-Storage篇
随着Spark的逐渐成熟完善, 越来越多的可配置参数被添加到Spark中来, 本文试图通过阐述这其中部分参数的工作原理和配置思路, 和大家一起探讨一下如何根据实际场合对Spark进行配置优化. 由于篇 ...
- MySQL 5.6常用参数配置及说明
[client] user = root password = Yong_110 [mysql] prompt = [\\u@\\p][\\d]>\\_ no-auto-rehash [mysq ...
- 数据库相关文章转载(1) MySQL性能优化之参数配置
1.目的: 通过根据服务器目前状况,修改Mysql的系统参数,达到合理利用服务器现有资源,最大合理的提高MySQL性能. 2.服务器参数: 32G内存.4个CPU,每个CPU 8核. 3.MySQL目 ...
- MySQL性能优化之参数配置
1.目的: 通过根据服务器目前状况,修改Mysql的系统参数,达到合理利用服务器现有资源,最大合理的提高MySQL性能. 2.服务器参数: 32G内存.4个CPU,每个CPU 8核. 3.MySQL目 ...
- Mysql性能优化之参数配置(转)
前言: Mysql作为数据库中广泛应用的开源产品,需要面对不同的生产压力,而有些性能问题通过配置优化就可以得到解决,优化可以分为几个方向:1.优化参数配置.2.优化数据库索引.3.优化数据库结构,如分 ...
- MySQL性能的五大配置参数(内存参数)
内存参数: 存储引擎/共享日志缓冲区,缓冲区池 innodb_buffer_pool_sizeinnodb_additional_mem_pool_sizeinnodb_log_buffer_size ...
随机推荐
- freemarker动态生成word并将生成的word转为PDF,openoffice转换word乱码
之前项目有个需求,需要先动态生成word内容,然后再预览生成word的内容(不能修改).整理一下,方便以后使用. 网上参考了好多大神的博客.具体也忘了参考谁的了,如有侵权,请告知修改. 思路一: 将目 ...
- Hi3516EV300专业型HD IP Camera SoC
Hi3516EV300芯片特点: 处理器内核 ARM Cortex A7@ 900MHz,32KB I-Cache,32KB D-Cache /128KB L2 cache 支持 Neon 加速,集成 ...
- SQL SERVER数据库的简单介绍
一.数据库技术的发展 数据库技术是应数据管理任务的需求而产生的,先后经历了人工管理.文件系统.数据库系统等三个阶段. 二.关系型数据库 SQL Server属于关系型数据库. 关系模型 以二维表来描述 ...
- 终于等到你:CYQ.Data V5系列 (ORM数据层,支持.NET Core)最新版本开源了
前言: 不要问我框架为什么从收费授权转到免费开源,人生没有那么多为什么,这些年我开源的东西并不少,虽然这个是最核心的,看淡了就也没什么了. 群里的网友:太平说: 记得一年前你开源另一个项目的时候我就说 ...
- 49个Spring经典面试题总结,附带答案,赶紧收藏
1. 一般问题 1.1. 不同版本的 Spring Framework 有哪些主要功能? Version Feature Spring 2.5 发布于 2007 年.这是第一个支持注解的版本. Spr ...
- GROUP BY你都不会!ROLLUP,CUBE,GROUPPING详解
Group By Group By 谁不会啊?这不是最简单的吗?越是简单的东西,我们越会忽略掉他,因为我们不愿意再去深入了解它. 1 小时 SQL 极速入门(一) 1 小时 SQL 极速入门(二) 1 ...
- 搭建属于自己的GIT服务器——pingg
1.下载并安装jdk. 下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htm ...
- spark 机器学习基础 数据类型
spark的机器学习库,包含常见的学习算法和工具如分类.回归.聚类.协同过滤.降维等使用算法时都需要指定相应的数据集,下面为大家介绍常用的spark ml 数据类型.1.本地向量(Local Vect ...
- Java基础--JDK的安装和配置
一.Java平台简述 1.1 Java语言简介 Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强大和简单易用两 ...
- IDLE打开Python报错 api-ms-win-crt-runtimel1-1-0.dll缺失的解决方案
1.此方法转载至 http://blog.csdn.net/lt_java13/article/details/78814676 2.把C:\Windows\SysWOW64的api-ms-win-c ...