数据库性能优化的目标

从数据库性能优化的场景来区分,可以将性能优化分为如下三种形式:
 从来没达到过性能要求的数据库优化。该类故障一般出现在压力测试或者业务系统刚上线时,可能需要通过修改应用架构,大规模优化SQL语句来进行改进,此类优化难度最大,耗时也最长。
 量变引起质变的数据库优化。该类故障通常是由数据库并发加大,数据量增多引起的,优化难度一般,但代价可能较高。在国内,很多客户都是通过增加硬件投入来解决该类性能问题的。
 突发性的数据库性能故障优化。该类故障优化的难度最低,但时间紧迫性更强,需要DBA能够快速解决问题。
从数据库性能优化的时间点来分,又分以下2点:
 事前优化,指的是业务系统上线前的优化。在事前优化过程中,系统设计、开发、产品优化、平台优化的全过程都很重要。实践经验表明,事前优化对于系统的平稳运行有着根本性的影响,而且优化代价也最低。
 事后优化,指的是业务系统上线后的优化。由于事后优化受到宕机时间、代码版本控制、代码内核不容易更改等因素影响,所以事后优化往往只能缓减系统性能下降的症状,治标不治本。系统上线之后,如果爆发出大规模的性能问题,那通常都会是灾难性的,任何容灾在这时都起不了作用。
提示 千万别将数据库的优化全部寄托于系统的参数优化和硬件升级上。
数据库性能优化并没有统一的标准步骤,“不管黑猫白猫,捉到老鼠就是好猫”,这句话在性能优化领域也同样适用。一个性能优化项目的目标如下:
 增大数据库吞吐量。如通过数据库优化增加每秒执行的事务数。
 高效利用服务器硬件资源。如开启并行充分利用CPU资源和存储I/O资源加快执行速度。
尽管引起数据库性能故障的原因千变万化,但解决方法还是有一定的规律可循的,接下来主要简单介绍数据库性能优化的一些基本方法论。

猜你喜欢

转载自dbzone.iteye.com/blog/1923081