- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
达梦在大批量绑定变量时遇到的异常处理模拟和分享
问题背景
在日常使用中,经常会遇到需要进行大\h批量插入、修改或查询的操作场景,大部分人都会按照之前在其他数据库时的使用习惯在达梦进行大批量绑定参数的数据插入、修改或查询,此时或许就会遇到报错变量空间溢出或Toobigvariablesspace等报错,经过排查处理后会引发一个新的疑问,达梦的绑定参数个数最大是65535,为什么没有达到这个数也会报错呢?
相关参数
此时就要引入一个参数,VM_STACK_SIZE,虚拟机堆栈大小,在\h达梦数据库中,每个会话线程都会申请一定大小的堆栈空间用于参与会话sql执行的一系列操作,当一次性发起大批量的带绑定变量的操作时,如果虚拟机堆栈过小则会抛出异常,以下通过模式测试确认该参数的影响。
模拟测试
场景一
通过jmeter测试大批量带绑定变量插入验证VM_STACK_SIZE参数对该系列场景的影响,首先使用默认大小进行测试,一次性插入1000条,每条插入绑定变量43个,变量总数为43000。
VM_STACK_SIZE默认大小为256KB
jmeter执行一次,一次性插入1000条,每条插入绑定变量43个,变量总数为43000,报错Toobigvariablesspace,如下图
SQLQue1y
Que1yType:Prepa「edSelectStatement
9心_'
983
934
985
936
93:
933
939
99l.l
991
99
993
994
995
996
99;
993
999
1,:::,
Pa「amete「values沁]i.,(1001沁l试1001沁l试1001沁l试1001沁l试1001沁l试1001沁l试1001沁l试1001沁l试1001沁l试1001沁l试1001沁l试1001沁l试1001沁l试1001沁l试1001沁l试1001沁l试10
Pa「amete「types:VARCHAR,VARCHAR,VARCHAR,VARCHAR,VARCHAR,VARCHAR,VARCHAR,VARCHAR,VARCHAR,VARCHAR,VARCHAR,VARCHAR,VARCHAR,VARCHAR,VARCHAR,VA
Variablenames:dm CSO,@mwefwf
同时同步查看V$VMS视图观察堆栈使用情况,发现VUSED使用量极少,此处推测会话线程在解析sql后根据sql的情况申请堆栈大小,但是绑定参数数量过多堆栈空间配置过少导致申请失败从而返回异常。或者这一过程极快,查询动态视图时没办法捕捉到
同时从sqllog中查看该sql执行情况,会话线程解析完sql后,开始进行事务处理,随后就发生了回滚,中间的1秒时间可能为上诉进行申请虚拟机堆栈空间等一系列操作
场景二
在测试了该参数在默认值情况下大批量场景插入失败后,尝试调大参数再试,将默认的256KB调整为2048KB
jmeter执行一次,一次性插入1000条,每条插入绑定变量43个,变量总数为43000,执行成功,如下图
同时同步查看V$VMS视图观察堆栈使用情况,这一过程在一瞬间,此时查询动态视图也没办法捕捉到使用信息,查看sqllog,调大后批量插入执行成功,执行时间为49毫秒。
堆栈大小使用验证
jmeter尝试调大并发,捕捉到了部分线程的堆栈空间使用情况,根据视图信息猜测,一次性插入1000条,每条插入绑定变量43个,变量总数为43000
时,单个会话线程大概需要用到430004/1024=419.92KB的堆栈空间,在默认256时报错。
同时测试了调整VM_STACK_SIZE410时,执行失败。
调整为430,执行成功,说明通过视图判断的大小基本准确
MIN_VALUE IMAX_VALUE IDEFAULT_VALUEIMPP_CHKISESS_VALUE IFILE_VALUE IDESCRIPTIONIPARA_TYPE
VARCHAR(256)IVARCHAR(256)IVARCHAR(256)ICHAR(1)IVARCHAR(256)IVARCHAR(256)IVARCHAR(256)IVARCHAR(200)
64 262144 256
430 430 vmstacksize INFlLE
NCSDNwefkwf
N
ITexi
I.?
Samplerresult Request Responsedata
丐0JDBCReques\2 TlireadName线程计11-1
丐
SampleStait:2024-01-2318:57:55CST
Loacltime:672Co
您可能关注的文档
- 保密工作台账.doc
- 2021年湖北文理学院《C语言程序设计》专升本精选模拟(十二套....docx
- 2022年湖北文理学院《C语言程序设计》专升本精选模拟(十二套....docx
- 2023年 新版评审准则质量记录手册表格汇编.docx
- FR35完整使用手册.docx
- XX县城市智能化立体停车场可行性研究报告.docx
- Zm6mcGB/T 20303.1-2016 起重机 司机室和控制站 第1部分:总则.docx
- 福建逻辑推理真题分类总结.docx
- 福建图推真题分类总结.docx
- 全国2012年10月自学考试金融市场学试题及答案.docx
- 2025年吉林省《人文科技常识》必刷100题试卷带解析及必背答案.docx
- 2025年吉林省《人文科技常识》必刷100题试卷带解析必背(必刷).docx
- 2025年国家公务员考试《人文科技常识》题库带解析附完整答案【典优】.docx
- 2025年天津市公务员考试《人文科技常识》必刷100题试卷带解析word版.docx
- 2025年公职人员考试《人文科技常识》必刷100题题库带解析含完整答案【考点梳理】.docx
- 2025年公务员考试《人文科技常识》题库带解析附参考答案(基础题).docx
- 2025年吉林省公务员考试《人文科技常识》必刷100题试卷带解析及答案(夺冠).docx
- 2025年安徽省《人文科技常识》必刷100题试卷带解析含答案(实用).docx
- 2025年吉林省《人文科技常识》必刷100题试卷带解析及答案一套.docx
- 2025年国家公务员考试《人文科技常识》必刷100题题库带解析附参考答案(a卷).docx
文档评论(0)