性能调优之redo切换频率(47天)

生产系统的一个库(负责容错处理的),目前遇到了严重的性能问题,数据量也大的出奇,一个分区表一百多个分区,blob字段达到了800多G.查看 AWR 系统负载倒不重,但是根据反馈响应速度很慢。

Snap Id

Snap Time

Sessions

Cursors/Session

Begin Snap:

4512

17-Jul-13 10:00:04

24

2.0

End Snap:

4513

17-Jul-13 11:00:06

41

19.5

Elapsed:

60.03 (mins)

DB Time:

70.09 (mins)

Load Profile

Per Second

Per Transaction

Redo size:

2,061,966.68

840,400.17

Logical reads:

28,242.96

11,511.05

Block changes:

4,749.98

1,935.96

Physical reads:

1,990.22

811.16

Physical writes:

244.15

99.51

User calls:

303.93

123.87

Parses:

80.30

32.73

Hard parses:

0.02

0.01

Sorts:

91.59

37.33

Logons:

0.04

0.02

Executes:

132.32

53.93

Transactions:

2.45

Instance Efficiency Percentages (Target 100%)

Buffer Nowait %:

99.67

Redo NoWait %:

99.95

Buffer Hit %:

96.06

In-memory Sort %:

100.00

Library Hit %:

99.98

Soft Parse %:

99.97

Execute to Parse %:

39.31

Latch Hit %:

97.11

Parse CPU to Parse Elapsd %:

2.80

% Non-Parse CPU:

99.69

Parse CPU to Parse Elapsd指标很低,而且memory的使用情况也只有40%,50%.但是每秒的redo数达到了近2M. 想看看日志切换频率,但是似乎从报告中找不到明显的地方,可以用以下sql来。填上自己需要关注的时间段。

select sequence#,first_time,nexttime,round(((first_time-nexttime)*24)*60,2) diff from (select sequence#,first_time,lag(first_time) over(order by sequence#) nexttime from v$log_history where thread#=1 and to_char(first_time,'yyyy-mm-dd')='2013-07-17') order by sequence# desc; SEQ# FIRST_TIME NEXTTIME DURATION(mins) 167868 2013-07-17 10:15:37 2013-07-17 10:15:10 .45 167867 2013-07-17 10:15:10 2013-07-17 10:14:59 .18 167866 2013-07-17 10:14:59 2013-07-17 10:14:46 .22 167865 2013-07-17 10:14:46 2013-07-17 10:14:32 .23 167864 2013-07-17 10:14:32 2013-07-17 10:14:22 .17 167863 2013-07-17 10:14:22 2013-07-17 10:14:15 .12 167862 2013-07-17 10:14:15 2013-07-17 10:14:09 .1 167861 2013-07-17 10:14:09 2013-07-17 07:09:19 184.83 167860 2013-07-17 07:09:19 2013-07-17 03:01:32 247.78

可以看到在负载高的时候,日志切换极快。查看当前的redo情况,是四组日志,每组100M,看来明显不够。但是需要设置为多少合适呢,发现了问题,给出对应的指标值也是很重要的。根据oracle的建议,20分钟内切换算是一个指标。跑了一个addm报告,也轻松的得到了结果,addm建议调为2048M.oracle还估算了调优这个会节省多少时间,IMPACT: 26% impact (1099 seconds)

此外还惊喜的得到了调整cursor的建议,这个问题最近得到开发的反馈说会碰到:

ORA-01000 max open cursors exceed...

看来addm确实是个好东西,但是在报告里面没有给出明显的理由。在awr报告里找cursor相关的指标

soft parsing of SQL statements was consuming significant database time.

Statistic

Begin Value

End Value

session pga memory max

15,053,354,632

15,249,597,664

session cursor cache count

383,435

386,192

session uga memory

4.4E+13

4.5E+13

opened cursors current

48

800

logons current

24

41

session uga memory max

44,030,880,616

44,314,080,728

session pga memory

13,478,131,336

13,655,531,424

给出的建议如下:

ACTION: Consider increase parameter open_cursors more then 300.

increase parameter session_cached_cursors to 150

now parameter details: open_cursors=300 session_cached_cursors=100

IMPACT: 3.9% impact (163 seconds)

此外还发现了一些top sql,但是没有明显的调优方向,我没有马上动手,我觉得这些需要以上的系统级配置生效以后需要做持续性的调整。

lob的调优还需要多补补。在后续章节分享。

原文发布于微信公众号 - 杨建荣的学习笔记(jianrong-notes)

原文发表时间:2014-04-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏我和未来有约会

[Silverlight动画]转向行为 - 对象回避

对象回避主题的完整意义是指,在机车行走的路线中存在一些障碍物,机车必须绕开、防止触碰到它们。听上去和碰撞检测有关,然而这仅仅是发生在预测阶段,也就是:“以我当前...

1785
来自专栏IT派

算法应用实践:如何用Python写一个贪吃蛇AI

这两天在网上看到一张让人涨姿势的图片,图片中展示的是贪吃蛇游戏, 估计大部分人都玩过。但如果仅仅是贪吃蛇游戏,那么它就没有什么让人涨姿势的地方了。 问题的关键在...

1090
来自专栏小樱的经验随笔

江西理工大学南昌校区cool code竞赛

      这次比赛原本就是来打酱油的,想做个签到题就走!一开始不知道1002是签到题,一直死磕1001,WA了四发过了,回头一看Rank,三十名,我靠!看了1...

38911
来自专栏工科狗和生物喵

【我的漫漫跨考路】数据结构之堆栈的线性实现

正文之前 ? 昨天晚上阶段性的完成了一部分数学的复习(一元积分学终于搞定了,后面的貌似没这么难了),所以今天打算撸一撸代码,结合前几天写的链表实现线性存储,今天...

2716
来自专栏落影的专栏

使用AudioToolbox编码AAC

前言 使用VideoToolbox硬编码H.264 使用VideoToolbox硬解码H.264 这次在编码H.264视频流的同时,录制并编码AAC音频流。...

3507
来自专栏炉边夜话

很幽默的讲解六种Socket I/O模型

信息来源:幻影论坛     作  者: flyinwuhan (制怒·三思而后行)

721
来自专栏JackieZheng

Gephi可视化(一)——使用Gephi Toolkit创建Gephi应用

  在Prefuse上摸打滚爬了一段时间,发现其和蔼可亲,容易上手。但是每每在打开gephi,导入数据再运行时,总还是在心里暗自赞叹gephi的绚烂之极,无与匹...

2557
来自专栏腾讯云API

AirFight程序:利用C语言写一个打飞机的小程序

主要用C语言写了一个打飞机的小游戏,但是有数组越界问题,问题不大,可以自行修改,不修改也可以跑:

461
来自专栏ThoughtWorks

TW洞见 | 敏捷回顾7步法

Paulo和TC一直在收集整理关于敏捷回顾的任何想法和活动。在这篇内容里面,他们分享了7步法来帮助你组织你的下一次回顾。 Agenda structure: 1...

3628
来自专栏WOLFRAM

用 Wolfram 语言绘制电子轨道

1285

扫描关注云+社区