unigui数据库连接池

UNIGUI for delphi,是一款WEB RIA开发框架。开发WEB程式如传统C/S般简单,众多DELPHIER趋之若鹜。

虽然上手非常容易,但要真正使用好,有些地方还是值得考究的。

网上有同仁说使用UNIGUI,如果客户端达到200的数量,会致数据库连接用磬,系统不可用。他以为是UNIGUI的并发不行。

UNIGUI冤哉!与UNIGUI何关!

究其原因,其使用ADO控件直连数据库,凡开发过两层c/s程序的人都知道,数据库的连接数是有限的。

一般地WEB程式的客户端数量比较大的,如果在UNIGUI中采用直连数据库的方式,数据库连接数就不足以应付诸多客户。

那么如何解决此问题呢?

使用数据库连接池。

我首先想到了在UNIGUI和数据库再加一个DATASNAP中间件,因为中间件是原来就写好了的,它包括有连接池和对象池。

无疑这种方法是可行的。后来再想,能不能不要中间件,而把连接池和对象池直接放UNIGUI里面,这样省却DATASNAP中间件。

如何做呢?

用UNIGUI工程向导生成一个新工程,有一个SERVERMODULE单元,此单元是针对所有客户SESSION,将全局的连接池对象或对象池对象

在它里面创建和销毁就可以了。

具体演示代码在此处省略。

合理地优化UNIGUI服务端程序,支持并发数量还是非常可观的,绝不只200而已。

 

 

posted @   delphi中间件  阅读(7358)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示