性能测试调优策略之数据库性能调优分析(2)

发表于:2013-04-15来源:Csdn作者:xuyubotest点击数: 标签:调优
SQL统计信息一共有以下几部分。SQL ordered by Elapsed time按照sql执行时间从长到短的排序,SQL ordered by CPU表示按照消耗CPU排序。SQL ordered by Gets表示sql获取内存

  SQL统计信息一共有以下几部分。SQL ordered by Elapsed time按照sql执行时间从长到短的排序,SQL ordered by CPU表示按照消耗CPU排序。SQL ordered by Gets表示sql获取内存块的数量,SQL ordered by Reads表示执行物理读的信息,SQL ordered by Executions表示执行次数,SQL ordered by Parse Calls表示sql被分析的次数。Sql的统计信息不能孤立的来看待,而是要结合top5事件来分析。如果是sql排名第一位,我们就能通过sql统计信息辅助分析了。SQL统计信息是一个很好的补充。对于OLTP系统来说,即使是软分析,也不能过多,依旧会消耗很多内存资源。如果top5事件中出现了很频繁的sql分析相关的Latch争用,就可以来这里确认哪些sql分析很频繁。

  Latch和锁起始还是有区分的,Latch更多的是等待,而锁更多的是阻塞。Latch是oracle为了保护内存结构而发明的。Latch一般出现在这样的情况。一个数据块被一个会话读取到内存中,与此同时另外一个会话也要读取这个数据块,为了保持数据一致性,通过Latch来控制。

  由Latch引发的问题比较多,除了未绑定变量外,还有一种情况是,重复执行的sql频繁访问一些相同的数据,因此可以将这些sql查询的结果缓存起来,不用多次查询,导致数据库块被频繁访问,而增加了会话的等待时间。

  Statspack报告还有很多内容,包括I/O,内存等方面,就不做介绍了。

  以上介绍了数据库报告的分析过程,虽然每个数据库的运行状况各异,但是大家只要掌握分析问题的方法和思路,就能很快发现问题。

原文转自:http://blog.csdn.net/xuyubotest/article/details/8158500