ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle 性能分析

oracle 性能分析

原创 Linux操作系统 作者:suhuisu 时间:2012-08-22 16:46:01 0 删除 编辑
数据库的性能分析,大致上分为两个层面:会话级和实例级

1  会话级:如果我们能够确定某个会话存在性能问题,用SQL_TRACE/10046进行SQL跟踪,了解执行计划、解析过程、会话中的等待事件。

2  实例级:当无法确定哪个会话性能有问题,就需要从实例级别来分析问题的所在。

a  整体性能评估时,查看动态视图v$sysstat,v$system_events等。Oracle10之前,statspack工具包是做实例级性能分析的首选工具,它定期收集数据库的性能信息,然后生成报告;在10gAWR自动收集信息,采集周期是1小时,ADDM基于AWR的数据。

b  及时分析时,使用ASH更容易定位到问题的所在。基于ASHEM-Top Activity是最好性能分析的工具

数据库时间模型:

响应时间一般分为服务时间(Service time)和等待时间(Wait time),服务时间指进程占用CPU的时间,包括前台进程(Server process)和后台进程(Backgroud process),我们一般只关注前台进程占用的CPU time。等待时间包括很多类型,一般最常见的是IO等待和并发等待,IO等待包括sequential readscattered readlog file sync等等,而并发等待主要是latchenqueueSQL execute elapsed time指用户进程执行SQL的响应时间,包含CPU timewait time

以下是Oracle数据库的时间模型:

Configuration :由于设置不当引起,比如enq: TX - allocate ITL entry

Application;  应用逻辑出问题引起,比如enq: TX - row lock contention

Commit:     long file sync 引起

Concurrency: 其他重要并行原因引起,latch; buffer busy waits; library cache lock/pin

-----------------------------------------------------------------------------------------------


分布式架构采用MySQL数据库,集中式架构采用Oracle数据库,前者通过数据拆分(Sharding)、读写分离,解决海量数据处理和弹性扩展的问题, 集中式Oracle数据库则用于保存核心数据,提供简单可靠的数据存储和访问服务。合理的使用OracleMySQL数据库,集中式架构和分布式架构共 存,不仅可以控制Oracle数据库的压力和规模,而且可以降低整体开发成本和维护成本。
读写分离架构利用了数据库的复制技术,将读和 写分布在不同的处理节点上,从而达到提高可用性和扩展性的目的
数据分片(Sharding)的原理就是将数据做水平切分,类似于hash分区 的原理,通过应用架构解决访问路由和数据合并的问题。Sharding架构的优势在于,集群扩展能力很强,几乎可以做到线性扩展,而且整个集群的可用性也 很高,部分节点故障,不会影响其他节点提供服务。Sharding原理简单,容易实现,是一种非常好的解决数据库扩展性的方案。但是Sharding对应 用场景的要求很高,因为一旦使用数据分片架构,如果需要跨不同的节点做join,或者统计类型的操作,将会变得非常困难,应该尽量避免。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7399830/viewspace-741601/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 动态语言2
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2011-07-05

  • 博文量
    13
  • 访问量
    12899