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而已。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM