如何实现高性能的数据处理\数据库性能优化

 

数据库访问优化法则

要正确的优化SQL,我们需要快速定位能性的瓶颈点,也就是说快速找到我们SQL主要的开销在哪里?而大多数情况性能最慢的设备会是瓶颈点,如下载时网络速度可能会是瓶颈点,本地复制文件时硬盘可能会是瓶颈点,为什么这些一般的工作我们能快速确认瓶颈点呢,因为我们对这些慢速设备的性能数据有一些基本的认识,如网络带宽是2Mbps,硬盘是每分钟7200转等等。因此,为了快速找到SQL的性能瓶颈点,我们也需要了解我们计算机系统的硬件基本性能指标,下图展示的当前主流计算机性能指标数据。

 

从图上可以看到基本上每种设备都有两个指标:

延时(响应时间):表示硬件的突发处理能力;

带宽(吞吐量):代表硬件持续处理能力。

 

从上图可以看出,计算机系统硬件性能从高到代依次为:

CPU——Cache(L1-L2-L3)——内存——SSD硬盘——网络——硬盘

由于SSD硬盘还处于快速发展阶段,所以本文的内容不涉及SSD相关应用系统。

根据数据库知识,我们可以列出每种硬件主要的工作内容:

CPU及内存:缓存数据访问、比较、排序、事务检测、SQL解析、函数或逻辑运算;

网络:结果数据传输、SQL请求、远程数据库访问(dblink);

硬盘:数据访问、数据写入、日志记录、大数据量排序、大表连接。

 

数据库访问优化漏斗法则

 

 

由于每一层优化法则都是解决其对应硬件的性能问题,所以带来的性能提升比例也不一样。传统数据库系统设计是也是尽可能对低速设备提供优化方法,因此针对低速设备问题的可优化手段也更多,优化成本也更低。我们任何一个SQL的性能优化都应该按这个规则由上到下来诊断问题并提出解决方案,而不应该首先想到的是增加资源解决问题。

 

以下是每个优化法则层级对应优化效果及成本参考:

 

      

主要总结以下两者优化方式:

       一.硬件优化(有钱出钱)

              能用钱解决的事可以优先用钱解决

       二.应用优化(没钱出力)

              但我们没钱,所以主要关注在这里

一、硬件优化

       .优化服务器硬件

              服务器的硬件性能直接决定着数据库的性能,硬件的性能瓶颈,直接决定数据库的运行速度和效率。

              可从以下几个方面考虑:

              1 、配置较大的内存。足够大的内存,是提高数据库性能的方法之一。

                     内存的IO比硬盘快的多,可以增加系统的缓冲区容量,使数据在内存停留的时间更长,以减少磁盘的IO;

              2 、配置高速磁盘,比如 SSD 。

              3 、使用专业的存储服务器( NAS 、 SAN )

              4 、合理分配磁盘IO,把磁盘IO分散到多个设备上,以减少资源的竞争,提高并行操作能力。

              5 、配置多核处理器, 数据库一般是多线程的,多处理器可以提高同时执行多个线程的能力。

       .优化服务器配置

              合理配置数据库服务器,尽量使应用本身达到一个最合理的使用     

       .分配更多资源

              配置更多的服务器等资源

二、应用优化

       优化方式

       1.设计合理的数据库结构

       2.对数据表建立合适有效的数据库索引

       3.交互优化

       4.编写简洁高效规范的SOL语句

数据库访问优化法则详解:</

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值