昨天开发的同事找到我说,生产有个job处理数据的速度很慢,想让我帮忙看看是怎么回事,最近碰到这种问题相对比较多了,但是问题的原因也是五花八门。我还是大体找他们了解了下情况,说有一个Job是处理文件传输的,但是从目前的运行情况来看,处理速度很慢,基本没什么进展,我向他们确认这几天是否有数据变更的操作,他们说没有。得到这个确认查看问题的方向就有明显的不同,我还是照例查看了一下数据库负载,锁情况。但是么有发现什么信息。从数据库的负载来看,负载倒不高。

Snap Id Snap Time Sessions Cursors/Session
Begin Snap: 17844 16-Jan-15 12:00:37 303 4.2
End Snap: 17845 16-Jan-15 13:00:40 303 4.4
Elapsed: 60.04 (mins)
DB Time: 119.10 (mins)

Load Profile

Per Second Per Transaction Per Exec Per Call
DB Time(s): 2.0 0.1 0.00 0.00
DB CPU(s): 1.2 0.1 0.00 0.00
Redo size: 1,222,354.8 56,665.6
Logical reads: 54,092.4 2,507.6
Block changes: 4,395.0 203.7
Physical reads: 5,172.7 239.8
Physical writes: 273.2 12.7
User calls: 4,952.3 229.6
Parses: 12.9 0.6
Hard parses: 1.1 0.1
W/A MB processed: 1.0 0.1
Logons: 0.1 0.0
Executes: 3,000.2 139.1
Rollbacks: 0.0 0.0
Transactions: 21.6

接下来看看等待事件,还是没有发发现特殊之处。

Top 5 Timed Foreground Events

Event Waits Time(s) Avg wait (ms) % DB time Wait Class
DB CPU 4,204 58.83
db file sequential read 1,539,592 3,003 2 42.03 User I/O
log file sync 79,884 164 2 2.30 Commit
direct path read 14,973 68 5 0.95 User I/O
control file sequential read 43,790 18 0 0.25 System I/O

从时间模型的情况来看,资源消耗还在在I/O上。

Statistic Name Time (s) % of DB Time
sql execute elapsed time 6,440.43 90.12
DB CPU 4,204.39 58.83
RMAN cpu time (backup/restore) 88.32 1.24

这个时候和开发做一个简短的沟通,最起码得明确一些信息,要不大海捞针的查问题还是针对性不强,他们说Job处理速度慢,是哪个job呢,他们反馈说是MF1ppMD的job我从Sql Order by Elapsed time中查得MFppMD的相关top sql有几个,但是这几个语句执行时间都很短,都在0.01秒以内,性能算是不错的了。

Executions

%Total

%IO

SQL Module

/* */ select count (1) from RP...

775.20

1,671,968

0.00

10.85

23.36

79.06

gqy0gxb05ycg4

pm1EnvelopeMT@ccbdbpr2 (TNS V1-V3)

select L9_SPLIT_PERIOD into :b...

717.11

14,042

0.05

10.03

99.84

0.00

b91t3s9kz9fg8

pm1EnvelopeMT@ccbdbpr2 (TNS V1-V3)

/* */ SELECT SUBSCRIBER_ID, EF...

394.40

1,167,196

0.00

5.52

39.54

63.55

dm1d93bw2jdzc

MF1ppMD@ccbdbpr1 (TNS V1-V3)

INSERT INTO RATED_EVENT (L3_NE...

236.40

1

236.40

3.31

81.22

9.47

477uum1qjcpqh

oracle@ccbstbpr2 (TNS V1-V3)

SELECT "A1"."TABLE_ISSUE_CODE"...

198.10

1

198.10

2.77

79.23

10.20

4uddwupn9fw9b

TOAD 9.6.0.27

/* */ SELECT SUBSCRIBER_ID, DY...

136.72

1,166,948

0.00

1.91

34.69

67.32

7p5kmytfrygy2

MF1ppMD@ccbdbpr1 (TNS V1-V3)

/* */ Update RPR1_SUBS_RERATE ...

80.38

196,631

0.00

1.12

22.43

79.87

7x26ag6bsacb3

pm1EnvelopeMT@ccbdbpr2 (TNS V1-V3)

insert into MF1_DUPCHECK_KEYS ...

从系统优化的角度来说,ppMD的性能问题还是比较奇怪的。继续查看其它的指标类型,一边注意ppMD相关的job,一边留意是否是其它的原因导致的。当我看到Sql Order by Executions的时候。注意到一个奇怪的地方,执行频率最高的正是ppMD这个job

Rows Processed

Elapsed Time (s)

%IO

SQL Module

<span color:white;"="" >SQL Text

2,333,806

0

0.00

43.03

106.28

0.00

a69bnysapnrt5

MF1ppMD@ccbdbpr1 (TNS V1-V3)

select ROWID , PRIM_RESOURCE_T...

1,671,968

1,664,009

1.00

775.20

23.36

79.06

gqy0gxb05ycg4

pm1EnvelopeMT@ccbdbpr2 (TNS V1-V3)

/* */ SELECT CYCLE_CODE, CYCLE...

1,167,196

1,166,977

1.00

394.40

39.54

63.55

dm1d93bw2jdzc

MF1ppMD@ccbdbpr1 (TNS V1-V3)

select sk.rowid , sk.subscribe...

但是仔细查看会发现一个奇怪的现象, Rows Processed却是0.这是一个比较特殊的情况,这个参数代表的意思是SQL在快照时间内累计执行所处理的总行数。代表0说明执行了几百万次,但是没有任何数据处理,相当于空跑。来看看执行的sql语句是什么。

select ROWID,

PRIM_RESOURCE_TP,

PRIM_RESOURCE_VAL,

TO_CHAR(EFFECTIVE_DATE, 'YYYYMMDDHH24MISS'),

TO_CHAR(EXPIRATION_DATE, 'YYYYMMDDHH24MISS'),

TO_CHAR(SYS_CREATION_DATE, 'YYYYMMDDHH24MISS'),

TO_CHAR(SYS_UPDATE_DATE, 'YYYYMMDDHH24MISS'),

OPERATOR_ID,

APPLICATION_ID,

DL_SERVICE_CODE,

DL_UPDATE_STAMP,

FUTURE_1,

FUTURE_2,

FUTURE_3

into :b0 :b1,

:b2 :b3,

:b4 :b5,

:b6 :b7,

:b8 :b9,

:b10 :b11,

:b12 :b13,

:b14 :b15,

:b16 :b17,

:b18 :b19,

:b20 :b21,

:b22 :b23,

:b24 :b25,

:b26 :b27

from MI9_PAID_SUBSCR

where (((PRIM_RESOURCE_TP = :b2 and PRIM_RESOURCE_VAL = :b4) and

EFFECTIVE_DATE <= TO_DATE(:b6, 'YYYYMMDDHH24MISS')) and

(EXPIRATION_DATE is null or

EXPIRATION_DATE > TO_DATE(:b6, 'YYYYMMDDHH24MISS')))

这是一个很简单的查询,一看这个表,我就恍然大悟了,这个表是在这两天才做的变更,在最新的需求中需要创建这个表,从目前的需求来看,这个表需要同步一些数据,但是数据的同步机制还没有达成共识,所以最后临时决定先把这个表创建好,让job在校验的时候不出错,但是表里面没有数据,暂时先按照dummy表来处理。但是在升级中没有包含这个变更,只是提供了临时的补丁做了修复。

job处理缓慢的性能问题排查与分析(r4笔记第18天)相关推荐

  1. mysql 性能查看_MySQL查询性能问题排查

    Mysql数据库的性能问题排查是十分复杂的,具体方法视场景而定,这里只做大致思路分析. 1. 整体考虑导致查询性能低下的各种因素 导致SQL查询变慢的原因是多元化的,在遇到问题时首先要有一个全方位的思 ...

  2. Redis性能问题排查解决手册(值得收藏)

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:今天给大家推荐 6 个 Spring Boot 项目,拿来就可以赚钱! 个人原创100W+访问量博客:点击前往, ...

  3. 结合“性能监视器” 排查、处理性能瓶颈导致应用吞吐率等指标上不去的问题...

    双11备战前夕,总绕不过性能压测环节,TPS 一直上不去 / 不达标,除了代码上的问题外,服务器环境.配置.网络.磁盘.CPU 亦是导致性能瓶颈的重要一环,本文旨在分享最近项目性能压测过程中的排查经验 ...

  4. Redis性能问题排查解决手册(七)

     阅读目录: 性能相关的数据指标 内存使用率used_memory 命令处理总数total_commands_processed 延迟时间 内存碎片率 回收key 总结 性能相关的数据指标 通过Red ...

  5. SQL Server 2008性能故障排查(二)——CPU

    原文: SQL Server 2008性能故障排查(二)--CPU 承接上一篇:SQL Server 2008性能故障排查(一)--概论 说明一下,CSDN的博客编辑非常不人性化,我在word里面都排 ...

  6. Redis——性能问题排查

    对于开发者来说,Redis是个速度非常快的key-value内存数据库,并提供了方便的API接口.为了最好最优的使用Redis,需要理解哪些因素能影响到Redis性能,哪些数据指标能帮助我们避免性能陷 ...

  7. 技能篇:linux服务性能问题排查及jvm调优思路

    只要业务逻辑代码写正确,处理好业务状态在多线程的并发问题,很少会有调优方面的需求.最多就是在性能监控平台发现某些接口的调用耗时偏高,然后再发现某一SQL或第三方接口执行超时之类的.如果你是负责中间件或 ...

  8. 从几百个生产环境总结出的Redis性能问题排查解决手册(值得收藏)

    点击上方蓝字,关注我们 阅读目录: 性能相关的数据指标 内存使用率used_memory 命令处理总数total_commands_processed 延迟时间 内存碎片率 回收key 总结 性能相关 ...

  9. oracle性能优化之awr分析

    oracle性能优化之awr分析 作者:bingjava 最近某证券公司系统在业务期间系统运行缓慢,初步排查怀疑是数据库存在性能问题,因此导出了oracle的awr报告进行分析,在此进行记录. 导致系 ...

最新文章

  1. 谷歌CEO称公司预计每月收购一家小公司
  2. HDU2642(二维的树状数组)
  3. [html] 你知道什么是粘性布局吗?
  4. 浅谈 JavaScript、ECMAScript (ES5、ES6)是什么、相互关系
  5. 800乘600的分辨率_600元能买到啥配置的手机?
  6. 基于特定实体的文本情感分类总结(PART II)
  7. android listview 获取viewholder,Android ViewHolder 的基本使用
  8. cad插入块_CAD中块插入点定义错了,插入位置不对怎么办?
  9. ubuntu查看端口
  10. markdown下载及基本语法
  11. 数字排列问题(全排例)
  12. gcc编译-m32、-mx32有什么区别
  13. 各大厂800道Java后端经典面试题合集
  14. 光电效应与光子|走进量子力学(3)
  15. InterSystems IRIS数据平台:数据接收速度测试
  16. 框架流程图绘制工具OmniGraffle 7 for Mac
  17. CSS选择器大全包含nth-child和nth-of-type的区别
  18. [Python从零到壹] 三十九.图像处理基础篇之图像几何变换(镜像仿射透视)
  19. 浏览器是指在用户计算机,2016年计算机二级office模拟试卷及答案
  20. 继电器开关阿里云IOT上云设置操作

热门文章

  1. Android 获取联系人头像
  2. 台式计算机风扇润滑油,电脑CPU风扇,显卡风扇千万不要加缝纫机油或机油
  3. limma差异分析谁比谁不重要
  4. 正则表达式判断合法的电话号码
  5. 机车计算机模糊规则表,计算机编制机车周转图有什么要求?
  6. 上传图片错误提示:error=3,原因及解决方法
  7. linux进阶_4所Linux进阶学校
  8. 织梦DedeCms 5.7如何更换FCK编辑器
  9. springboot排错
  10. 从“二等公民”到正职,我真正理解了外包的价值