mysql性能优化之服务器参数配置-内存配置
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql性能优化之服务器参数配置-内存配置,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2241字,纯文字阅读大概需要4分钟。
内容图文
MySQL服务器参数介绍
MySQL获取配置信息路径
命令行参数
mysqld_safe --datadir=/data/sql_data
配置文件
mysqld --help --verbose | grep -A 1 'Default options' /etc/my.cnf/ /etc/mysql/my.cnf /home/mysql/my.cnf ~/.my.cnf
MySQL配置参数的作用域
全局参数(需要重新登录才能生效)
set global 参数名=参数值;
set @@global.参数名:=参数值;
会话参数
set[session]参数名=参数值;
set @@session.参数名 := 参数值;
内存配置相关参数
确认可以使用的内存的上限
确认MySQL的每个连接使用的内存(都是为线程分配的)
- sort_buffer_size 排序缓冲区大小
- join_buffer_size 连接缓冲区的大小
- read_buffer_size 分配的值必须是4k的倍数
- read_rnd_buffer_size
确认需要为操作系统保留多少内存
如何为缓存池分配内存(Innodb严重依赖缓存池)
InnoDB缓存池(InnoDB buffer pool)是提升InnoDB提升性能的关键,它既可以缓存数据,又可以缓存索引,甚至其他的管理数据(元数据、行级锁)等。可以使用show variables like 'innodb%pool%'; 来查看相关的参数选项。
Innodb_buffer_pool_size
总内存-(每个线程所需要的内存*连接数)-系统保留内存
在一个独立的只使用InnoDB引擎的MySQL服务器中,根据经验,推荐设置innodb-buffer-pool-size为服务器总可用内存的80%。
innodb_buffer_pool_instance
innodb_buffer_pool_instance默认值是1,表示InnoDB缓存池被划分为一个区域,适当的增加该参数值,可以提升InnoDB的并发性能。
innodb_additional_mem_pool_size
指定InnoDB用于来存储数据字典和其他内部数据的缓存大小,默认值是2M.InnoDB的表个数越多,就应该适当的增加该参数的大小。
key_buffer_size
select sum(index_length)
from information_schema.tables where engine=‘misaim‘
key_buffer_size指定索引缓冲区的大小,它决定索引处理的速度,尤其是索引读的速度。通过检查状态值Key_read_requests和Key_reads,可以知道key_buffer_size设置是否合理。比例key_reads /key_read_requests应该尽可能的低,至少是1:100,1:1000更好(上述状态值可以使用SHOW STATUS LIKE ‘key_read%‘获得)。
key_buffer_size只对MyISAM表起作用。即使你不使用MyISAM表,但是内部的临时磁盘表是MyISAM表,也要使用该值。可以使用检查状态值created_tmp_disk_tables得知详情。
对于1G内存的机器,如果不使用MyISAM表,推荐值是16M(8-64M)
mysql性能优化之服务器参数配置-内存配置
标签:配置文件 nod 增加 性能优化 mys status sts --help mat
本文系统来源:https://www.cnblogs.com/only-me/p/11538273.html
内容总结
以上是互联网集市为您收集整理的mysql性能优化之服务器参数配置-内存配置全部内容,希望文章能够帮你解决mysql性能优化之服务器参数配置-内存配置所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。