mysql性能优化配置总结

看了一些优化mysql运维的一些书籍,在此记录总结下:
进入mysql客户端输入以下sql:
1、连接设置

show variables like ‘%max_connection%‘;
show status like ‘%Max_used_connections%‘;

Max_used_connections/max_connection <=85%,参数配置项的值可对照修改

2、存储在堆栈中的连接数量

show variables like ‘%back_log%‘;

back_log 默认为50 建议修改为 128~512

3、数据连接关闭前等待时间

show variables like ‘%timeout%‘;

修改interactive_timeout wait_timeout 2项的值,默认为28800,建议修改为7200

4、索引缓冲区的大小

show status like ‘%read%‘;

索引未缓存命中率 key_read/key_request_reads ~=0.001~0.01

5、查询缓冲区的大小(query_cache_size)

show variables like ‘%cache%‘;
show status like ‘%qcache%‘;

缓存碎片率 Qcache_free_blocks/Qcache_total_blocks <20%
缓存利用率 (query_cache_size-Qcache_free_memory)/query_cache_size<25%
缓存命中率 Qcache_hits/Qcache_inserts>95%

6、顺序读、随机读、排序、连接缓冲区的大小,每个线程独占,建议设置为16MB

show status like ‘%buffer%‘;

read_buffer_size
read_rnd_buffer_size
sort_buffer_size
join_buffer_size

7、表缓冲区大小

show status like ‘%tables%‘;

table_cache 根据 open_tables opented_tables 大小来调整

8、内存表和临时表

show status like ‘%table%‘;

max_heap_table_size
tmp_table_size
内存表超过临时表大小,才需要调整内存表的大小

9、磁盘上临时表大小

show status like ‘%tmp%‘;

(Created_tmp_disk_tables/Created_tmp_tables)*100<25%

10、缓存线程的数量

show variables like ‘%tmp%‘;

thread_cache_size

11、并发线程的数量

show variables like ‘%thread%‘;

innodb_thread_concurrency (cpu+磁盘)数量的2倍

12、其他
数据和索引缓冲区的大小 innodb_buffer_pool_size 物理内容的80%
日志缓冲区的大小 innodb_log_buffer_size 1~8MB
数据字段和其他数据结构的大小 innodb_additional_mem_pool_size 20MB
事物处理机制 innodb_flush_log_at_trx_commit
0 提交事物不写入日志,每秒日志文件写入和flush磁盘
1 每秒或每次事物提交时,日志文件写入 flush磁盘
2 每次事物提交时,日志文件写入,每秒flush磁盘

时间: 2024-10-15 17:55:37

mysql性能优化配置总结的相关文章

Mysql5.7—mysql性能优化-索引、语句、配置(运维必备)

小生博客:http://xsboke.blog.51cto.com 小生 Q Q:1770058260 -------谢谢您的参考,如有疑问,欢迎交流 一. 数据库的类型 1) 第一代数据库: 基于层次模型与网状模型的数据库 层次型数据库比较经典的是IBM公司的IMS(InformationManagement System)数据库,层次型数据库提供了良好的完整性支持,模型简单,对具有一对多层关系的部们描述非常自然.直观,容易理解,比较适用于那些实体间联系是固定的且预先定义好的环境,其性能优于关

MySQL性能优化之max_connections配置参数浅析

这篇文章主要介绍了MySQL性能优化之max_connections配置参数浅析,本文着重讲解了3种配置max_connections参数的方法,需要的朋友可以参考下 MySQL的max_connections参数用来设置最大连接(用户)数.每个连接MySQL的用户均算作一个连接,max_connections的默认值为100.本文将讲解此参数的详细作用与性能影响. 与max_connections有关的特性 MySQL无论如何都会保留一个用于管理员(SUPER)登陆的连接,用于管理员连接数据库

MySQL影响性能的因素原因以及性能优化配置详解

(https://blog.csdn.net/kangshuo2471781030/article/details/79315577) 一.MySQL性能优化之-影响性能的因素 1.商业需求的影响 不合理需求造成资源投入产出比过低,这里我们就用一个看上去很简单的功能来分析一下. 需求:一个论坛帖子总量的统计,附加要求:实时更新 从功能上来看非常容易实现,执行一条SELECT COUNT(*) from 表名的Query 就可以得到结果.但是,如果我们采用不是MyISAM 存储引擎,而是使用的In

MySQL配置文件mysql.ini参数详解、MySQL性能优化

MySQL配置文件mysql.ini参数详解.MySQL性能优化 my.ini(Linux系统下是my.cnf),当mysql服务器启动时它会读取这个文件,设置相关的运行环境参数. my.ini分为两块:Client Section和Server Section.   Client Section用来配置MySQL客户端参数.   要查看配置参数可以用下面的命令: show variables like '%innodb%'; # 查看innodb相关配置参数 show status like

MySQL 性能优化的最佳20多条经验分享

今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的                    事,而这更是我们程序员需要去关注的事情. 当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能.这里,我们不会讲过多的SQL语                句的优化,而只是针对MySQL这一Web应用最多的数据库.希望下面的这些优化技巧对你有用. 1. 为查询缓存优化你的查询 大多数的M

MySQL性能优化的最佳20+条经验

http://www.pythonclub.org/mysql/optimize-20-tips 今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情.当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能.这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库.希望下面的这些优化技巧对你有用. 1. 为查询缓存

mysql 性能优化方案 (转)

网 上有不少MySQL 性能优化方案,不过,mysql的优化同sql server相比,更为麻烦与复杂,同样的设置,在不同的环境下 ,由于内存,访问量,读写频率,数据差异等等情况,可能会出现不同的结果,因此简单地根据某个给出方案来配置mysql是行不通的,最好能使用 status信息对mysql进行具体的优化. mysql> show global status; 可以列出mysql服务器运行各种状态值,另外,查询mysql服务器配置信息语句: mysql> show variables; 一

?二十种实战调优MySQL性能优化的经验

?http://www.searchdatabase.com.cn/showcontent_58391.htm [为查询缓存优化你的查询] 像 NOW() 和 RAND() 或是其它的诸如此类的SQL函数都不会开启查询缓存,因为这些函数的返回是会不定的易变的.所以,你所需要的就是用一个变量来代替MySQL的函数,从而开启缓存. [EXPLAIN 你的 SELECT 查询] 使用 EXPLAIN 关键字可以让你知道MySQL是如何处理你的SQL语句的. [当只要一行数据时使用 LIMIT 1] 当

20多条MySQL 性能优化经验分享

当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能.这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库.希望下面的这些优化技巧对你有用. 1. 为查询缓存优化你的查询 大多数的MySQL服务器都开启了查询缓存.这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的.当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了. 这里最主要