Mysql之性能优化
#vim /etc/my.cnf以下只列出my.cnf文件中[mysqld]段落中的内容,其他段落内容对MySQL运行性能影响甚微,因而姑且忽略。

[mysqld]
port = 3306
serverid = 1
socket = /tmp/mysql.sock
skip-locking
#避免MySQL的外部锁定,减少出错几率增强稳定性。
skip-name-resolve
#禁止MySQL对外部连接进行DNS解析,使用这一选项可以消除MySQL进行DNS解析的时间。但需要注意,如果开启该选项,则所有远程主机连接授权都要使用IP地址方式,否则MySQL将无法正常处理连接请求!
back_log = 384
#back_log参数的值指出在MySQL暂时停止响应新请求之前的短时间内多少个请求可以被存在堆栈中。如果系统在一个短时间内有很多连接,则需要增大该参数的值,该参数值指定到来的TCP/IP连接的侦听队列的大小。不同的操作系统在这个队列大小上有它自己的限制。试图设定back_log高于你的操作系统的限制将是无效的。默认值为50。对于Linux系统推荐设置为小于512的整数。
key_buffer_size = 256M
#key_buffer_size指定用于索引的缓冲区大小,增加它可得到更好的索引处理性能。对于内存在4GB左右的服务器该参数可设置为256M或384M。注意:该参数值设置的过大反而会是服务器整体效率降低!
max_allowed_packet = 4M
thread_stack = 256K
table_cache = 128K
sort_buffer_size = 6M
#查询排序时所能使用的缓冲区大小。注意:该参数对应的分配内存是每连接独占,如果有100个连接,那么实际分配的总共排序缓冲区大小为100 × 6 = 600MB。所以,对于内存在4GB左右的服务器推荐设置为6-8M。
read_buffer_size = 4M
#读查询操作所能使用的缓冲区大小。和sort_buffer_size一样,该参数对应的分配内存也是每连接独享。
join_buffer_size = 8M
#联合查询操作所能使用的缓冲区大小,和sort_buffer_size一样,该参数对应的分配内存也是每连接独享。
myisam_sort_buffer_size = 64M
table_cache = 512
thread_cache_size = 64
query_cache_size = 64M
#指定MySQL查询缓冲区的大小。可以通过在MySQL控制台观察,如果Qcache_lowmem_prunes的值非常大,则表明经常出现缓冲不够的情况;如果Qcache_hits的值非常大,则表明查询缓冲使用非常频繁,如果该值较小反而会影响效率,那么可以考虑不用查询缓冲;Qcache_free_blocks,如果该值非常大,则表明缓冲区中碎片很多。
tmp_table_size = 256M
max_connections = 768
#指定MySQL允许的最大连接进程数。如果在访问论坛时经常出现Too Many Connections的错误提示,则需要增大该参数值。
max_connect_errors = 10000000
wait_timeout = 10
#指定一个请求的最大连接时间,对于4GB左右内存的服务器可以设置为5-10。
thread_concurrency = 8
#该参数取值为服务器逻辑CPU数量*2,在本例中,服务器有2颗物理CPU,而每颗物理CPU又支持H.T超线程,所以实际取值为4*2=8
skip-networking
#开启该选项可以彻底关闭MySQL的TCP/IP连接方式,如果WEB服务器是以远程连接的方式访问MySQL数据库服务器则不要开启该选项!否则将无法正常连接!
table_cache=1024  
#物理内存越大,设置就越大.默认为2402,调到512-1024最佳
innodb_additional_mem_pool_size=4M
#默认为2M
innodb_flush_log_at_trx_commit=1
#设置为0就是等到innodb_log_buffer_size列队满后再统一储存,默认为1
innodb_log_buffer_size=2M           
#默认为1M
innodb_thread_concurrency=8        
#你的服务器CPU有几个就设置为几,建议用默认一般为8
key_buffer_size=256M                    
#默认为218,调到128最佳
tmp_table_size=64M                       
#默认为16M,调到64-256最挂
read_buffer_size=4M                    
#默认为64K
read_rnd_buffer_size=16M           
#默认为256K
sort_buffer_size=32M                   
#默认为256K
thread_cache_size=120             
#默认为60
query_cache_size=32M

值得注意的是:

很多情况需要具体情况具体分析

一、如果Key_reads太大,则应该把my.cnf中Key_buffer_size变大,保持Key_reads/Key_read_requests至少1/100以上,越小越好。
二、如果Qcache_lowmem_prunes很大,就要增加Query_cache_size的值。

转载于:https://blog.51cto.com/tayjq/1110691

mysql 内存性能优化相关推荐

  1. DBA很忙—MySQL的性能优化及自动化运维实践

    作者:王辰 来自:高效运维(ID:greatops) DBA的日常工作 首先,我们来看看DBA的具体工作,我觉得 DBA 真的很忙:备份和恢复.监控状态.集群搭建与扩容.数据迁移和高可用,这是我们 D ...

  2. 淘宝内部分享:MySQL MariaDB性能优化

     淘宝内部分享:MySQL & MariaDB性能优化 摘要:MySQL是目前使用最多的开源数据库,但是MySQL数据库的默认设置性能非常的差,必须进行不断的优化,而优化是一个复杂的任务, ...

  3. #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)

    Linux + JVM + Mysql高级性能优化课程 课程名称:      Linux + JVM + Mysql高级性能优化 QQ群:      243242580(小白.菜鸟勿进)跟Java.M ...

  4. MySQL 数据库性能优化之SQL优化

    2019独角兽企业重金招聘Python工程师标准>>> MySQL 数据库性能优化之SQL优化 发布时间: 2012 年 3 月 21 日  发布者: OurMySQL 来源:简朝阳 ...

  5. MySQL数据库性能优化的关键参数(转)

    我们在进行数据库管理和开发中经常会遇到性能问题,这就涉及到MySQL的性能优化.通过在网络上查找资料和笔者自己的尝试,我认为以下系统参数是比较关键的: 关键参数一:back_log 要求 MySQL ...

  6. MySQL数据库性能优化史诗级大总结

    点击上方蓝色字体,选择"设为星标" 回复"资源"获取更多资源 大数据技术与架构 点击右侧关注,大数据开发领域最强公众号! 大数据真好玩 点击右侧关注,大数据真好 ...

  7. MySQL索引性能优化

    01.MySQL:性能优化方案 在应用开发的过程中,由于前期数据量少,开发人员编写的SQL语句或者数据库整体解决方案都更重视在功能上的实现,但是当应用系统正式上线后,随着生成数据量的急剧增长,很多SQ ...

  8. MySQL的性能优化及自动化运维实践与Mysql高并发优化

    首先,我们来看看DBA的具体工作,我觉得 DBA 真的很忙:备份和恢复.监控状态.集群搭建与扩容.数据迁移和高可用,这是我们 DBA 的功能. 了解这些功能以后要对体系结构有更加深入的了解,你不知道怎 ...

  9. MySQL数据库性能优化及自动化运维实践教程!DBA日常工作

    MySQL数据库性能优化及自动化运维实践教程!本文作者将站在更加全面的角度分享他在这一年多 DBA 工作中的经验,希望可以给大家带来启发和帮助. DBA 的日常工作 我觉得 DBA 真的很忙,我们来看 ...

  10. 【MySQL】性能优化

    文章目录 一.引言 1.1 研究背景 1.2 目的和方法论 二.数据库性能优化的基础知识 2.1 数据库设计原则 2.1.1遵循范式设计 2.1.2. 字段类型选择 2.1.3. 数据表分离 2.1. ...

最新文章

  1. Fertility of Soils:根系C/P计量比影响水稻残根周际酶活的时空动态分布特征
  2. mysql select 返回列,是否可以对在mysql SELECT语句中返回列的顺序进行排序?
  3. review what i studied `date` - 2017-4-11
  4. shell 语法格式
  5. Linux文件大小排序
  6. J2EE经典面试题及答案
  7. 百度数据可视化图表套件echart实战
  8. Android 常用的性能分析工具详解:GPU呈现模式, TraceView, Systrace, HirearchyViewer(转)...
  9. SAP WebIDE 里开发 SAP UI5 应用时,使用 Ctrl + Space 实现代码自动完成功能
  10. 树莓派python交互界面实例_树莓派综合项目2:智能小车(二)tkinter图形界面控制...
  11. F#基础教程 ref类型
  12. 分享从零开始学习网络设备配置--2.1 交换机基本配置
  13. JAVA实现生成GIF动态图加文字(完整版无License带锯齿优化处理)
  14. bt4-pre-final下用spoonwep+spoonwpa破解wep或wpa加密的无线网络
  15. 论文笔记:Securing Data With Blockchain and AI
  16. 计算机网络 什么是帧头部,帧头是什么意思
  17. 哪些英语用法是普通中国学生最生疏的?
  18. 我的十余年职业生涯之路
  19. wqewqewqewq
  20. android 混淆debug版本,在Android Studio中的混淆debug與release

热门文章

  1. Python下载(Windows)
  2. kindeditor不过滤标签属性
  3. 有的字体,设置了粗体,也不能用粗体方式来绘制
  4. 一个员工经常找别人聊天,吾就知道他要走人了
  5. LINUX编译:通过prefix把编译结果输出到指定位置
  6. 随便一个人就能干预大选?
  7. 关于蜂蜜牛奶供养佛菩萨的两段经文
  8. 面试考知识点,吾亦很难通过
  9. 钩子函数atexit
  10. C++ HDC作图 内存画图