淺析ServletQueryForConnPool測試
一.測試用例ServletQueryForConnPool版本
1.結(jié)構(gòu)圖
2.代碼實現(xiàn)結(jié)構(gòu)
3.運行時序圖
4.測試運行情況說明
4.1 數(shù)據(jù)庫連接和數(shù)據(jù)庫游標(biāo)占用可能比較大
由于數(shù)據(jù)庫的查詢及其分頁處理是直接使用JDBC的,并在分頁中是使用RseultSet的查詢結(jié)果集-游標(biāo)形式實現(xiàn)的,并且每個客戶對應(yīng)一個會話,每個會話對應(yīng)一個數(shù)據(jù)庫連接和一個結(jié)果集(游標(biāo)),數(shù)據(jù)庫連接和游標(biāo)是在會話終止時才釋放的。因此在多個客戶的請求過程中,可能對數(shù)據(jù)庫的訪問資源(數(shù)據(jù)庫連接和用于數(shù)據(jù)操作的游標(biāo))占用比較大。
因此數(shù)據(jù)庫訪問及其數(shù)據(jù)庫的處理可能是個瓶頸。
4.2 資源沒有釋放的問題
會話對應(yīng)的數(shù)據(jù)庫連接和游標(biāo)可能在會話終止時沒有釋放。
為了更好的體現(xiàn)出使用Web容器數(shù)據(jù)庫連接池的優(yōu)點,應(yīng)該合理的設(shè)置連接池中連接對象的“非活動超時時間”,建議次值和Servlet對象的會話超時時間長度一直。
5.此測試用例操作說明
5.1 部署的包的位置:
ServletQueryForConnPool.war
5.2 部署
1.通過Weblogic 的控制臺工具部署此包
2.相關(guān)的參數(shù)請看ServletQueryForConnPool.war包中的配置文件web.xml中相應(yīng)的servlet配置參數(shù)
5.3 測試URL
http://server/:port/WebAppName
即:
http://web/服務(wù)器名:端口/Servlet部署的應(yīng)用程序名
二.測試用例ServletQueryForConnPool_cache 版本
1.結(jié)構(gòu)圖
和“一:測試用例3”相同
2.代碼實現(xiàn)結(jié)構(gòu)
3.運行時序
說明:使用第四種“緩存一次SQL查詢的結(jié)果集”的分頁面查詢技術(shù),即一次SQL查詢,把從數(shù)據(jù)庫查詢出來的結(jié)果保存到會話中,以后的客戶分頁查詢操作都從此緩存中取得。
4.測試運行情況說明
由于使用的是緩存結(jié)果集的方式,對Web容器服務(wù)器的內(nèi)存要求比較高,可能在測試過程中,Web容器服務(wù)器因內(nèi)存問題而影響整個系統(tǒng)的響應(yīng)性能。
5.此測試用例操作說明
5.1 部署的包的位置:
ServletQueryForConnPool_cache.war
【編輯推薦】