美文网首页
优化概要

优化概要

作者: 想太多的猫 | 来源:发表于2017-11-22 20:50 被阅读0次

数据库的性能取决于很多因素,比如:表,查询,和配置。配置就是最简单的算法,用于调整程序逻辑,以便适应更多场景。优化主要从如下几个方面进行:

  • 硬件层面
  • 数据库层面
  • 可移植和性能的平衡

硬件层面

随着数据库的越来越忙碌,任何一个数据库应用最终会受到硬件的制约。一个DBA一定要评估是否可以通过调整应用或者重新配置服务器来避免瓶颈,是否需要更多硬件资源。系统瓶颈一般有如下几个来源:

  • 磁盘寻址
    磁盘上寻找一块数据的时间。在现在的磁盘中,平均时间通常小于10ms,所以我们可以寻找100次在1s内。这个时间对于新磁盘有小幅度提高,对单表的优化非常难。优化寻找数据的时间是将数据分布到多个磁盘。

  • 磁盘读写
    当磁盘到达正确的位置,我们需要读写数据。现在磁盘中,一个磁盘吞吐至少10-20MB/S。你可以通过并行读取多个磁盘。

  • CPU周期
    当数据在内存的时候,我们为了得到结果来处理数据。大量的大表是主要的因素。对于小表,完全不是问题。

  • 主存带宽
    当CPU需要更多数据,而不是命中CPU自带的缓存。主存带宽就是一个瓶颈,多数系统基本不会是这个瓶颈。

数据库层面

  • 表结构的合理性。列的数据类型的合理性,一个表中列的合理性。比如:多更新数据应该设计多表(少列),分析大量数据则设计成少表(多列)。
  • 合理的索引。索引的数据结构伟B树,查询效率很高。而且Mysql的锁的机的粒度就是基于索引。
  • 对于行的格式设定。Mysql的行的设置模式有:COMPACT,REDUNDANT,DYNAMIC,COMPRESSED。引擎Innodb默认COMPACT。
  • 正确的锁策略。分为共享模式和排他模式,选用Innodb引擎性能更好。
  • 配置缓存合适的大小。具体就是配置InnoDB buffer pool合适的大小。

可移植和性能的平衡

编写高新能的SQL语句(Mysql 特殊SQL方言)和可移植的SQL语句需要进行取舍。

相关文章

  • 优化概要

    数据库的性能取决于很多因素,比如:表,查询,和配置。配置就是最简单的算法,用于调整程序逻辑,以便适应更多场景。优化...

  • 性能优化概要

  • 蚂蚁金服架构师带你学优化一MySql性能优化实战

    概要: Mysql的优化,大体可以分为三部分:索引的优化,sql语句的优化,表的优化。本文主要帮助自己整理思路,也...

  • Android性能优化概要

    Android中的性能优化,对于每一个Android开发者是尤为重要的,做好一个APP不光是功能完善,更要使APP...

  • 垃圾回收及内存调试工具的介绍

    Android应用性能优化 内存的优化 垃圾回收及内存调试工具的介绍#### 概要: Android的Genera...

  • Redis入门到高可用-10.缓存的使用与优化

    1.概要 缓存的收益与成本 缓存更新策略 缓存粒度控制 缓存穿透优化 无底洞问题优化 缓存雪崩优化 热点key重建...

  • Web 前端性能优化概要

    优化方向 页面加载速度。 代码运行速度。 优化的方法 指定优化目标。目标需要是具体的,可度量的。比如,在 50Kb...

  • (10)美团GC优化实际案例(2)

    Java程序性能不达标,其他优化穷尽时,调整垃圾回收器来提高性能。但GC算法复杂,影响性能参数多。概要: 优化步骤...

  • golang profile用法

    概要 profile就是定时采样,收集cpu,内存等信息,进而给出性能优化指导,golang 官方提供了golan...

  • golang profile用法

    概要 profile就是定时采样,收集cpu,内存等信息,进而给出性能优化指导,golang 官方提供了golan...

网友评论

      本文标题:优化概要

      本文链接:https://www.haomeiwen.com/subject/xxynvxtx.html