search 2013 adfgs

接着上一篇 MySQL数据库性能优化之存储引擎选择,这是 MySQL数据库性能优化专题 系列的第六篇文章:MySQL数据库性能优化之硬件优化 在过往与很多人的交流过程中发现,在谈到基于硬件来进行数据库性能瓶颈分析的时候,常被大家误解为简单的使用更为强劲的主机或者存储来替换现有的设备。 个人觉得这其中可能存在一个非常大的误区。我们在谈论基于硬件进行优化的时候,不能仅仅将数据库使用的硬件划分为主机和存储两部分,而是需要进一步对硬件进行更细的分解,至少也应该分解到如下范畴: 主机 CPU:仅仅只能决定运算速度,及时是运算速度都还取决于与内存之间的总线带宽以及内存本身的速度 内存:大小决定了所能缓存的数据量,主要决定了热点数据的访问速度 磁盘: 大小:决定了你最终能存放多少数据量 转速:决定了你每一次IO请求的延时时间,也就是决定了我们常说的IOPS和MBPS 数目:磁盘数目决定了 类型 机械:SAS or SATA or FC ? SSD:磁盘 or PCI卡? Raid卡: 缓存:缓存大小对数据写入速度有较大影响,使用策略也会直接影响IO效率 电池:电池充放电策略会影响到瞬时IO的波动 其他:如总线带宽等,决定了CPU与内存间数据传输效率,这一点很多时候关注较少,但也可能会出现瓶颈 存储 内存:存储设备同样也有内存,用来存储前端主机访问的热点数据。存储的内存大小同样决定了热点数据的访问速度 磁盘:和主机磁盘类似 线路/环路带宽:环路带宽必须能够匹配磁盘带宽,至少不能少于磁盘所能输出的能力,否则就想被堵在高速收费站等待通行的车辆一样 网络 延时:不同的网络设备其延时会有差异,对于 OLTP 设备来说,延时自然是越小越好 吞吐量:对于数据库集群来说,各个节点之间的网络吞吐量可能直接决定集群的处理能力 iops:对于 OLTP 系统,数据传输更多是以小IO多并发方式,有时候光有大带宽并不一定能满足需求 硬件角度所能提供的处理能力,一定是上面所列的多个方面(这里仅仅只是主要部分,可能还有其他)共同决定的整体能力,任何一个方面出现瓶颈,都能导致整体性能上不去,也就是我们常说的木桶原理。 在以往的经验中,最容易出现性能瓶颈的地方主要会出现在以下几个方面: IO资源方面瓶颈 出现 IO 资源方面瓶颈的时候,主要表现在服务器 iowait 很高,usr 占比较少,系统响应较慢,数据库中经常会存在大量执行状态的 session。 遇到 IO 资源方面的瓶颈,我们可以使用的硬件层面优化方案主要就是: 增加内存加大可缓存的数据量:这个方案能否达到效果取决于系统热点数据的总量,毕竟内存的成本也是比较高的,而且单台设备所能管理的内存量也是有限的 改善底层存储设备的 IO […]

, , ,