資料庫連線池

2021-09-01 22:05:25 字數 1926 閱讀 5239

用ab命令來測試資料庫的連線池

分別測試spring的drivermanagerdatasource,dbcp, c3p0, proxool

500的錯誤都是獲取不到db的handler, db的併發限制問題

ab -n 1000 -c 50

[table]

|併發50|failed|90%time|

|spring自帶非連線池|933|939|

|dbcp|427|1043|

|c3p0|0|860|

|proxool|237|941|

[/table]

看來c3p0比proxool 要穩定

使用c3p0的時候注意要先訪問下頁面,預熱下,讓c3p0載入好配置在大併發測試,不然會down的

------------------------------

dbcp有bug問題連線不釋放, 一般使用c3p0 或是proxool

spring自帶的資料庫連線,不是連線池

org.springframework.jdbc.datasource.drivermanagerdatasource

用其和c3p0做對比,明顯能發現drivermanagerdatasource 在service層上要花更多的時間,畢竟需要開關一次, 而c3p0在第一次初始化的時候有點慢,後面就很快了

spring自帶

(com.tristan.web.dao.userdao.search) 185 ms

(com.tristan.web.service.userservice.search) 285 ms

(com.tristan.web.dao.userdao.search) 3 ms

(com.tristan.web.service.userservice.search) 20 ms

(com.tristan.web.dao.userdao.search) 4 ms

(com.tristan.web.service.userservice.search) 35 ms

(com.tristan.web.dao.userdao.search) 5 ms

(com.tristan.web.service.userservice.search) 28 ms

(com.tristan.web.dao.userdao.search) 4 ms

(com.tristan.web.service.userservice.search) 33 ms

c3p0

(com.tristan.web.dao.userdao.search) 360 ms

(com.tristan.web.service.userservice.search) 782 ms

(com.tristan.web.dao.userdao.search) 6 ms

(com.tristan.web.service.userservice.search) 9 ms

(com.tristan.web.dao.userdao.search) 3 ms

(com.tristan.web.service.userservice.search) 9 ms

(com.tristan.web.dao.userdao.search) 7 ms

(com.tristan.web.service.userservice.search) 9 ms

(com.tristan.web.dao.userdao.search) 7 ms

(com.tristan.web.service.userservice.search) 9 ms

資料庫連線池 Redis連線池

基本原理 在內部物件池中,維護一定數量的資料庫連線,並對外暴露資料庫連線的獲取和返回方法。如外部使用者可通過getconnection方法獲取資料庫連線,使用完畢後再通過releaseconnection方法將連線返回,注意此時的連線並沒有關閉,而是由連線池管理器 並為下一次使用做好準備。2.作用 ...

資料庫連線池

實現資料連線池,讓系統有更高有執行效率 using system using system.data using system.data.sqlclient using system.collections using system.threading public class dataaccess...

資料庫連線池

資料庫連線池概述 資料庫連線是一種關鍵的有限的昂貴的資源,這一點在多使用者的網頁應用程式中體現得尤為突出。對資料庫連線的管理能顯著影響到整個應用程式的伸縮性和健壯性,影響到程式的效能指標。資料庫連線池正是針對這個問題提出來的。資料庫連線池負責分配 管理和釋放資料庫連線,它允許應用程式重複使用乙個現有...