加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

大牛是怎么思考设计MySQL优化方案的?

发布时间:2019-02-04 04:10:53 所属栏目:MySql教程 来源:Java干货分享
导读:副标题#e# 在进行MySQL的优化之前,必须要了解的就是MySQL的查询过程,很多查询优化工作实际上就是遵循一些原则,让MySQL的优化器能够按照预想的合理方式运行而已。 图-MySQL查询过程 一、优化的哲学 注:优化有风险,涉足需谨慎 1、优化可能带来的问题 优

设置合理的连接客户和连接方式: 

  1. max_connections           # 最大连接数,看交易笔数设置  
  2.    max_connect_errors        # 最大错误连接数,能大则大  
  3.    connect_timeout           # 连接超时  
  4.    max_user_connections      # 最大用户连接数  
  5.    skip-name-resolve         # 跳过域名解析  
  6.    wait_timeout              # 等待超时  
  7.    back_log                  # 可以在堆栈中的连接数量 

SQL层(基础优化) 

  1. query_cache_size: 查询缓存  >>>  OLAP类型数据库,需要重点加大此内存缓存,但是一般不会超过GB。  
  2.    对于经常被修改的数据,缓存会立马失效。  
  3.    我们可以实用内存数据库(redis、memecache),替代他的功能。

这里推荐一下我的Java后端技术群:834962734 ,群里有(分布式架构、高可扩展、高性能、高并发、性能优化、Spring boot、Redis、ActiveMQ、等学习资源)进群免费送给每一位Java小伙伴,不管你是转行,还是工作中想提升自己能力都可以,欢迎进群一起深入交流学习!

2、存储引擎层(innodb基础优化参数) 

  1. default-storage-engine  
  2.    innodb_buffer_pool_size       # 没有固定大小,50%测试值,看看情况再微调。但是尽量设置不要超过物理内存70%  
  3.    innodb_file_per_table=(1,0)  
  4.    innodb_flush_log_at_trx_commit=(0,1,2) # 1是最安全的,0是性能最高,2折中  
  5.    binlog_sync  
  6.    Innodb_flush_method=(O_DIRECT, fdatasync)  
  7.    innodb_log_buffer_size           # 100M以下  
  8.    innodb_log_file_size               # 100M 以下  
  9.    innodb_log_files_in_group       # 5个成员以下,一般2-3个够用(iblogfile0-N)  
  10.    innodb_max_dirty_pages_pct   # 达到百分之75的时候刷写 内存脏页到磁盘。  
  11.    log_bin  
  12.    max_binlog_cache_size                     # 可以不设置  
  13.    max_binlog_size                               # 可以不设置  
  14.    innodb_additional_mem_pool_size     #小于2G内存的机器,推荐值是20M。32G内存以上100M 

【编辑推荐】

  1. 负载突然翻了100倍,如何拯救MySQL架构?
  2. DBA的大救星:数据库智能运维探索与实践
  3. 一份超详细的MySQL高性能优化实战总结!
  4. 阿里数据库运维10年演进之路
  5. FoundationDB Record Layer 宣布开源,提供关系数据库功能
【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读