设置合理的连接客户和连接方式:
- max_connections # 最大连接数,看交易笔数设置
- max_connect_errors # 最大错误连接数,能大则大
- connect_timeout # 连接超时
- max_user_connections # 最大用户连接数
- skip-name-resolve # 跳过域名解析
- wait_timeout # 等待超时
- back_log # 可以在堆栈中的连接数量
SQL层(基础优化)
- query_cache_size: 查询缓存 >>> OLAP类型数据库,需要重点加大此内存缓存,但是一般不会超过GB。
- 对于经常被修改的数据,缓存会立马失效。
- 我们可以实用内存数据库(redis、memecache),替代他的功能。
这里推荐一下我的Java后端技术群:834962734 ,群里有(分布式架构、高可扩展、高性能、高并发、性能优化、Spring boot、Redis、ActiveMQ、等学习资源)进群免费送给每一位Java小伙伴,不管你是转行,还是工作中想提升自己能力都可以,欢迎进群一起深入交流学习!
2、存储引擎层(innodb基础优化参数)
- default-storage-engine
- innodb_buffer_pool_size # 没有固定大小,50%测试值,看看情况再微调。但是尽量设置不要超过物理内存70%
- innodb_file_per_table=(1,0)
- innodb_flush_log_at_trx_commit=(0,1,2) # 1是最安全的,0是性能最高,2折中
- binlog_sync
- Innodb_flush_method=(O_DIRECT, fdatasync)
- innodb_log_buffer_size # 100M以下
- innodb_log_file_size # 100M 以下
- innodb_log_files_in_group # 5个成员以下,一般2-3个够用(iblogfile0-N)
- innodb_max_dirty_pages_pct # 达到百分之75的时候刷写 内存脏页到磁盘。
- log_bin
- max_binlog_cache_size # 可以不设置
- max_binlog_size # 可以不设置
- innodb_additional_mem_pool_size #小于2G内存的机器,推荐值是20M。32G内存以上100M
【编辑推荐】
- 负载突然翻了100倍,如何拯救MySQL架构?
- DBA的大救星:数据库智能运维探索与实践
- 一份超详细的MySQL高性能优化实战总结!
- 阿里数据库运维10年演进之路
- FoundationDB Record Layer 宣布开源,提供关系数据库功能
【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0 (编辑:晋中站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|