文档章节

mysql设计规范之性能优化

落叶刀
 落叶刀
发布于 2016/06/06 10:02
字数 488
阅读 24
收藏 0

 性能优化 – 综合
理解业务,切合业务特点的优化效果最好
业务规划,容量预估,建立基线模型
压测数据采集,预留峰值
尽一切努力减少IO(磁盘、网络)
转变随机IO为顺序IO
努力提高内存利用率
上线前做好评估审核

性能优化 – 架构设计
保持优雅:越小越好,单库100G内
垂直拆分:按功能
水平拆分:按key哈希
单实例下数据表数量不高于1024
单表数据量尽量不高于1000万
主库写,从库只读、统计、汇总
前端做好一切cache

性能优化 – 硬件
NUMA架构,CPU直接和内存打交道
CPU不再是瓶颈,MySQL多核支持不佳
设备越来越廉价,大内存解决很多问题
SSD应用越来越广泛,未来是主力
RAID卡可有效提升IOPS及数据安全
RAID卡必须配备BBU,FORCE WB
RIAD卡的条带设置有讲究
FushionIO还是贵族

性能优化 – 系统
升级到64位
内核
IO调度:deadline,noop
VM管理:vm.swappiness=0
文件系统:xfs、ext4
全B+树,高效
分配组,提高并发度
延迟分配,减少IO
mount:nobarrier、data=ordered,writeback
加大请求队列:nr_requests
关闭NUMA

性能优化 – MySQL
化繁为简
读写分离
加大内存分配
创建合适的索引
减少锁,提高并发
合并随机IO为顺序IO
柔风细雨优于狂风暴雨
多次批量提交优于频繁提交
使用XtraDB 或 MySQL 5.5+

性能优化 – 调优工具
systemtap
sar
gdb
gcore
oprofile
pmp (Poor Man's Profiler)
dstat

性能优化 – 误区
分配内存越多越好,可能导致OS Swap
session级内存分配过大,导致OOM
索引越多越好,可能导致更多IO
Qcache设置过大,实际效果差
人云亦云,不自己动手实践
 

© 著作权归作者所有

落叶刀
粉丝 41
博文 126
码字总数 107596
作品 2
浦东
运维
私信 提问
58到家数据库30条军规的详细解读

军规适用场景:并发量大、数据量大的互联网业务军规:介绍内容解读:讲解原因,解读比军规更重要 一、基础规范 (1)必须使用InnoDB存储引擎 解读:支持事务、行级锁、并发性能更好、CPU及内...

爱编程厨师
01/21
0
0
58到家数据库30条军规解读,你认可几条?

这里面都是一些很简单的规则,看似没有特别大的意义,但真实的不就是这么简单繁杂的工作吗? 军规适用场景:并发量大、数据量大的互联网业务 军规:介绍内容 解读:讲解原因,解读比军规更重...

鉴客
2017/02/16
1K
12
Sketch插件新利器——使用摹客设计规范制作设计

Sketch,作为一款专为图标和界面设计而打造的优质矢量绘图工具,也是设计师们制作和完善公司企业内部设计规范系统不可或缺的设计工具。 然而,逐个导出和上传Sketch编辑优化的设计系统资源费...

爱原型设计
2018/08/03
0
0
MySQL 高性能表设计规范

原文出处:高广超 良好的逻辑设计和物理设计是高性能的基石, 应该根据系统将要执行的查询语句来设计schema, 这往往需要权衡各种因素。 一、选择优化的数据类型 MySQL支持的数据类型非常多,...

高广超
2017/07/27
0
0
设计神器 - 摹客设计系统上线了 | 晒出你的设计规范,赢iPad Pro!

在国内,设计规范也许还是个不太常用的概念,但是如果你正好有参与互联网公司的产品设计,你应该早就已经体会到设计规范的重要性了。UI设计师总是要花费大量的时间和精力向开发描述一大堆设计...

mo311
2018/07/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Kernel DMA

为什么会有DMA(直接内存访问)?我们知道通常情况下,内存数据跟外设之间的通信是通过cpu来传递的。cpu运行io指令将数据从内存拷贝到外设的io端口,或者从外设的io端口拷贝到内存。由于外设...

yepanl
今天
3
0
hive

一、hive的定义: Hive是一个SQL解析引擎,将SQL语句转译成MR Job,然后再在Hadoop平台上运行,达到快速开发的目的 Hive中的表是纯逻辑表,就只是表的定义,即表的元数据。本质就是Hadoop的目...

霉男纸
今天
3
0
二、Spring Cloud—Eureka(Greenwich.SR1)

注:本系列文章所用工具及版本如下:开发工具(IDEA 2018.3.5),Spring Boot(2.1.3.RELEASE),Spring Cloud(Greenwich.SR1),Maven(3.6.0),JDK(1.8) Eureka: Eureka是Netflix开发...

倪伟伟
昨天
8
0
eclipse常用插件

amaterasUML https://takezoe.github.io/amateras-update-site/ https://github.com/takezoe/amateras-modeler modelGoon https://www.cnblogs.com/aademeng/articles/6890266.html......

大头鬼_yc
昨天
4
0
centos7修改命令行或图形界面启动模式

1.systemctl get-default命令获取当前模式 2.systemctl set-default graphical.target 修改启动模式(修改为图形界面,要是修改为命令行就multi-user.target) 2.systemctl set-default multi-...

大圣39
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部