張 艷
(山東信息職業技術學院 山東 261061)
計算機技術發展以來,計算機考試系統也得到了迅速發展,從軟件技術方面看,計算機考試系統大致經歷了三個階段:單機考試系統、網絡考試系統、遠程考試系統。單機考試系統和網絡考試系統以C/S架構為主,遠程考試系統以B/S或者B/S與C/S相結合的架構為主。目前,以B/S架構為主的遠程考試系統逐漸成為考試系統的主流架構,本文探討的就是基于JAVA的B/S架構的遠程考試系統。使用簡單的數據庫操作,不僅會增加系統的開銷,而且還容易忘記釋放連接導致內存溢出,最終導致系統崩潰的問題。本基于JAVA的考試系統對數據庫連接池技術進行了研究和改進,使得考試系統的性能獲得明顯的改進。
數據庫連接池的基本原理就是將預先建立的連接存放至內存對象中以備系統進行調用。數據庫連接池起到了一個連接緩沖池的作用。當考試系統需要建立一個數據庫連接時,只需要從連接池中取出一個連接即可,不需要新建數據庫連接。而且,在進程使用完數據庫連接后,只需要將連接存放回至數據庫連接池即可,也不要對其進行關閉。假若連接池的數據庫連接數量不夠使用,則連接的建立和關閉都是由連接池來管理,降低了程序出錯的幾率。
本考試系統是通過調用Weblogic連接池的ContextManager類進行實現的,類ContextManager是由JAVA進行實現的,并且獲取連接池的連接是通過jndi的方式進行獲取的,獲取連接池,直接提供給訪問者進行使用。


通過getInitConnection方法獲取數據庫連接池的連接后,任何一個程序需要對數據庫進行連接時,只需要調用conn= getInitConnection()即可獲取數據庫連接。
本系統使用Jmeter測試軟件對未使用連接池的考試系統和使用連接池的考試系統進行系統性能的測試與分析比較。本課題以考試系統中獲取考試題目為例,分別使用不同的并發用戶數量對連接池的考試系統和使用連接池的考試系統進行測試,連接池初始連接數設置為10,最大連接數設置為50.測試結果如表1所示。

并發數 無連接池耗時 有連接池耗時 性能提升1 60ms 30 ms 50%5 100 ms 40.1 ms 59.9%10 375.5 ms 113.6 ms 69.5%20 366.7 ms 181.7 ms 50.3%40 647.3 ms 336.4 ms 48.2%
由表1可以看出,使用連接池的考試系統性能得到大幅度提升,約為不適用連接池的考試系統性能的50%左右。當并發用戶數量為10時,系統性能提升最為顯著,性能提升比例為69.5%。然而本測試系統的數據庫連接池的初始連接數設置為10,因此連接池的配置參數對系統性能也有較大的影響。
數據庫連接池技術已經成為當前Java應用程序提高系統數據庫訪問效率的至關重要的關鍵技術之一,本文詳細介紹了在基于Java的遠程網絡考試系統中使用數據庫連接池的原理和設計方法,并對數據庫連接池進行優化的考試系統進行了測試與分析,測試結果表明,使用數據庫連接池的考試系統的性能得到了大幅度的提升,并且還可以有效降低系統出錯的概率,降低系統開銷。而且,數據庫連接池的參數配置對系統的性能提升也有至關重要的作用。
[1]陳帥.計算機考試系統研究[J].淮南師范學院學報,2012,21(3):42-44
[2]羅榮,唐學兵.基于JDBC的數據庫連接池的設計與實現[J].計算機工程,2011,5(2):31-34.
[3]商杰,朱戰立.數據庫連接池技術研究與應用[J].現代電子技術,2012.3:127-129.
[4]李美滿,易德成.通用考試系統開放題庫與組卷及評卷算法研究[J].計算機工程與設計.2005.10:65-68
[5]李鵬,王汝傳.通用考試系統的設計與實現[J].南京郵電大學學報(自然科學版),2012.06(1):24-26.