DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: zyt1990
今日帖子: 41
在线用户: 12
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 xiaoxingliang1 (xiaoxingliang1) ▲▲▲▲△ -
注册会员
2020/3/20 18:50:50
标题:
uniDac连接MySql,执行次数多了,出错,内存错误,程序崩溃 浏览:328
加入我的收藏
楼主: 服务器是一个线程池,接收到请求,放到队列里,线程池分配线程去处理,线程中执行数据库操作,一个线程一个数据库连接,用的uniDac,发现执行次数多了就会崩溃报错。去掉数据库操作部分就没问题。请问有什么好的方法?
----------------------------------------------
-
作者:
男 xiaoxingliang1 (xiaoxingliang1) ▲▲▲▲△ -
注册会员
2020/3/20 18:52:47
1楼: MySql数据库在内网,用的UniDac直接连接它
----------------------------------------------
-
作者:
男 ivvn (奔腾的心) ▲▲▲▲▲ -
注册会员
2020/3/20 19:48:36
2楼: 代码丢上来
----------------------------------------------
-
作者:
男 delphiilove (乌羽玉) ★☆☆☆☆ -
普通会员
2020/3/20 21:16:16
3楼: 我相信 绝不是 UNIDAC 本身 的 问题。
----------------------------------------------
GOD with US
作者:
男 bahamut8348 (leonna) ★☆☆☆☆ -
普通会员
2020/3/21 1:06:09
4楼: 7*24的程序最重要的就是要会管理资源。你这种长时间崩溃的情况就是资源管理出了问题。
----------------------------------------------
--
作者:
男 xiaoxingliang1 (xiaoxingliang1) ▲▲▲▲△ -
注册会员
2020/3/21 10:28:02
5楼: 昨天调试模式下看到过一次sysGetMem出错,队列任务对象频繁创建释放是不是有问题,用的是消息中间件,接收到消息,转成一个自己的对象,放到线程池里的队列里。
----------------------------------------------
-
作者:
男 xiaoxingliang1 (xiaoxingliang1) ▲▲▲▲△ -
注册会员
2020/3/21 10:36:50
6楼: 现在是自己测试,每隔一分钟,1000个并发过去。
----------------------------------------------
-
作者:
男 xiaoxingliang1 (xiaoxingliang1) ▲▲▲▲△ -
注册会员
2020/3/23 22:41:39
7楼: 找到问题了,执行uniDac查询的时候,结果集要申请内存TMySqlResultSet.Create这里报错,消息中间件接口每个请求也要申请内存New(Message)这里也会报错,报的是申请到的内存是只读的,停在SysGetMem那里,这两个操作都是在线程里调用,去掉uniDac查询就正常,它们两个好像会互相冲突。New(Message)操作准备加个对象池,不每次都申请
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v2.1 版权所有 页面执行39.0625毫秒 RSS