暂无图片
分享
ziyoo0830
2019-04-19
插入速度慢且应用端有卡顿现象

应用批量插数据到表,总插4万条,每1000条提交,但是会出现卡的情况,对应的的等待事件是sql net more data from client?表子段比较多。这个能判断为是网络原因吗?

收藏
分享
11条回答
默认
最新
Moone

这个是等待client的网络数据,你们批量提交是client是怎么做的?

卡是commit那个点慢,还是整个批处理过程都可能慢?

是直接发sql text到后台还是调用后台存储过程?

暂无图片 评论
暂无图片 有用 0
ziyoo0830

据应用运维樊哙使用的jdbc的addbatch进行操作的。

直接发的sql text到后台的。

暂无图片 评论
暂无图片 有用 0
ziyoo0830
暂无图片 评论
暂无图片 有用 0
ziyoo0830
暂无图片 评论
暂无图片 有用 0
ziyoo0830

insert into SPPI_BOND_TEST_RESULT(ID, ZQDM, ZQJC, IS_ADOPT, QBZDDGRJ, IS_INTERVENE, ZQXZ, FXFS, IS_YX, UPDATE_TIME, UPDATE_USER, COUNT_RESULT, FALSE_REASON, TBJ_REASON, OTHER_TERM, IS_ADOPT_HIS, IS_INTERVENE_HIS, IS_RELEASE, APPROVAL_STATUS, CHECK_USER, CHECK_DATE, TEST_DATE, OPTION_TIME, IS_DELETE) VALUES(:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13, :14, :15, :16, :1 7, :18, :19, :20, :21, :22, :23, :24);

这条语句总共执行78次,每次约22秒左右,从18点09分到18点30分。

暂无图片 评论
暂无图片 有用 0
Moone

导出18:00-18:30的dba_hist_active_sess_history发出来吧,sqlid也找出来。

暂无图片 评论
暂无图片 有用 0
李真旭

最简单的诊断方法是 10046 跟踪一下这个session。上传一下trace。

暂无图片 评论
暂无图片 有用 0
ziyoo0830

10046已收集,链接: https://pan.baidu.com/s/1IF0X6rpG4mazA4YPM6rp8g 提取码: gnyg 。

暂无图片 评论
暂无图片 有用 0
盖国强

你的问题在于写日志太慢了:

EXEC #2:c=0,e=663,p=0,cr=1,cu=7,mis=0,r=1,dep=0,og=1,plh=0,tim=199411454697382

WAIT #2: nam='SQL*Net message to client' ela= 0 driver id=1952673792 #bytes=1 p3=0 obj#=-1 tim=199411454697415

WAIT #2: nam='SQL*Net message from client' ela= 601 driver id=1952673792 #bytes=1 p3=0 obj#=-1 tim=199411454698035

CLOSE #2:c=0,e=4,dep=0,type=3,tim=199411454698057

XCTEND rlbk=0, rd_only=0, tim=199411454698079

WAIT #0: nam='log file sync' ela= 4302 buffer#=10993 sync scn=1469605365 p3=0 obj#=-1 tim=199411454702426

WAIT #0: nam='SQL*Net message to client' ela= 1 driver id=1952673792 #bytes=1 p3=0 obj#=-1 tim=199411454702453

WAIT #0: nam='SQL*Net message from client' ela= 568 driver id=1952673792 #bytes=1 p3=0 obj#=-1 tim=199411454703034

XCTEND rlbk=1, rd_only=1, tim=199411454703053

WAIT #0: nam='SQL*Net message to client' ela= 0 driver id=1952673792 #bytes=1 p3=0 obj#=-1 tim=199411454703082

WAIT #0: nam='SQL*Net message from client' ela= 816 driver id=1952673792 #bytes=1 p3=0 obj#=-1 tim=199411454703912


log file sync 的时间最长,可能是存储太慢,有性能瓶颈。

暂无图片 评论
暂无图片 有用 0
ziyoo0830

好的,谢谢盖老师。

暂无图片 评论
暂无图片 有用 0
章芋文
问题已关闭: 问题已经得到解决
暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏