2023學(xué)年完整公開課版重用連接_第1頁(yè)
2023學(xué)年完整公開課版重用連接_第2頁(yè)
2023學(xué)年完整公開課版重用連接_第3頁(yè)
2023學(xué)年完整公開課版重用連接_第4頁(yè)
2023學(xué)年完整公開課版重用連接_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

主講教師:魏巍巍北京信息職業(yè)技術(shù)學(xué)院數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用重用連接創(chuàng)建采集任務(wù)01連接池01目錄CONTENTS連接池01連接池打開和關(guān)閉數(shù)據(jù)庫(kù)連接是一個(gè)昂貴的過(guò)程。連接池維護(hù)可由客戶端應(yīng)用程序重復(fù)使用的數(shù)據(jù)庫(kù)連接的緩存。連接池:減少創(chuàng)建連接所需的時(shí)間簡(jiǎn)化應(yīng)用程序開發(fā)幫助您控制可用連接的總數(shù)要對(duì)所選Connector使用連接池,請(qǐng)執(zhí)行以下操作:Connector/J:在J2EE應(yīng)用服務(wù)器中配置連接池并通過(guò)JNDI訪問(wèn)Connector/Python:使用mysql.connector.pooling模塊PHP:使用mysqlnd復(fù)制和負(fù)載均衡插件Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.連接池傳統(tǒng)的連接池機(jī)制與數(shù)據(jù)庫(kù)連接池的運(yùn)行機(jī)制區(qū)別傳統(tǒng)鏈接:一般來(lái)說(shuō),JAVA應(yīng)用程序訪問(wèn)數(shù)據(jù)庫(kù)的過(guò)程:裝載數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序;通過(guò)JDBC建立數(shù)據(jù)庫(kù)連接;訪問(wèn)數(shù)據(jù)庫(kù),執(zhí)行SQL語(yǔ)句;斷開數(shù)據(jù)庫(kù)連接;Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.連接池傳統(tǒng)的連接池機(jī)制與數(shù)據(jù)庫(kù)連接池的運(yùn)行機(jī)制區(qū)別使用了數(shù)據(jù)庫(kù)連接池的機(jī)制:程序初始化時(shí)創(chuàng)建連接池;使用時(shí)向數(shù)據(jù)庫(kù)申請(qǐng)可用連接;使用完畢,將連接返回給連接池;程序退出時(shí),斷開所有連接,并釋放資源;Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.連接池為何要使用數(shù)據(jù)庫(kù)連接池假設(shè)網(wǎng)站一天有很大的訪問(wèn)量,數(shù)據(jù)庫(kù)服務(wù)器就需要為每次連接創(chuàng)建一次數(shù)據(jù)庫(kù)連接,極大的浪費(fèi)數(shù)據(jù)庫(kù)資源,并且極易造成數(shù)據(jù)庫(kù)服務(wù)器內(nèi)存溢出,拓機(jī)。數(shù)據(jù)庫(kù)連接池是一種關(guān)鍵的有限的昂貴的資源,這一點(diǎn)在多用戶的網(wǎng)頁(yè)程序中體現(xiàn)的尤為突出,對(duì)數(shù)據(jù)庫(kù)連接的管理顯著影響到整個(gè)應(yīng)用程序的伸縮性和健壯性,影響程序的性能指標(biāo),數(shù)據(jù)庫(kù)連接池正式針對(duì)這個(gè)問(wèn)題提出的。數(shù)據(jù)庫(kù)連接池負(fù)責(zé)分配,管理和釋放數(shù)據(jù)庫(kù)的連接,它允許應(yīng)用程序重復(fù)使用一個(gè)現(xiàn)有的數(shù)據(jù)庫(kù)連接,而不是重建一個(gè)。Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.連接池為何要使用數(shù)據(jù)庫(kù)連接池?cái)?shù)據(jù)庫(kù)連接池在初始化時(shí)創(chuàng)建一定數(shù)量的數(shù)據(jù)庫(kù)連接放到連接池中,連接的數(shù)量上是由最小數(shù)據(jù)庫(kù)連接數(shù)來(lái)設(shè)定的,無(wú)論這些數(shù)據(jù)庫(kù)連接是否被使用,連接池都將一直保證至少擁有這么多的連接數(shù)量,連接池的最大數(shù)據(jù)庫(kù)連接數(shù)量限定了這個(gè)連接池能占有的最大連接數(shù)。當(dāng)應(yīng)用程序向連接池請(qǐng)求連接數(shù)量超過(guò)最大連接數(shù)量時(shí),這些請(qǐng)求將被加入到等待隊(duì)列中。Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.連接池?cái)?shù)據(jù)庫(kù)連接池的最小連接數(shù)和最大連接數(shù)的設(shè)置要考慮以下幾個(gè)因素最小連接數(shù):是連接池一直保持?jǐn)?shù)據(jù)庫(kù)連接,所以如果應(yīng)用程序?qū)?shù)據(jù)庫(kù)連接的使用量不大,將會(huì)有大量的數(shù)據(jù)庫(kù)連接資源被浪費(fèi)。最大連接數(shù):是連接池能申請(qǐng)的最大連接數(shù),如果數(shù)據(jù)庫(kù)的連接請(qǐng)求超過(guò)次數(shù),后面的數(shù)據(jù)庫(kù)連接將被加入到等待隊(duì)列中,這會(huì)影響以后的數(shù)據(jù)庫(kù)操作。如果最小連接數(shù)與最大連接數(shù)相差很大,那么最先連接請(qǐng)求將會(huì)獲利,之后超過(guò)最小連接數(shù)量的連接請(qǐng)求等價(jià)于建立一個(gè)新的數(shù)據(jù)庫(kù)連接,不過(guò)這些大于最小連接數(shù)的數(shù)據(jù)庫(kù)連接在使用完不會(huì)馬上被釋放,它將放到連接池中等待重復(fù)使用或是時(shí)間超時(shí)后被釋放。Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.連接池使用數(shù)據(jù)庫(kù)連接池的關(guān)鍵點(diǎn)1.并發(fā)問(wèn)題為了使連接池管理服務(wù)具有最大的通用性,必須考慮多線程環(huán)境,這個(gè)問(wèn)題相對(duì)于好解決,因?yàn)楦鱾€(gè)語(yǔ)言自身提供了對(duì)于并發(fā)管理的支持,可以保證線程的同步。2.事務(wù)處理DB連接池必須要確保某一時(shí)間內(nèi)一個(gè)connection只能分配給一個(gè)線程。不同conection的事務(wù)是相互獨(dú)立的。我們知道,事務(wù)具有原子性,此時(shí)要求對(duì)數(shù)據(jù)庫(kù)的操作符合原子操作:要么不做,要么全做。3.連接池的分配與釋放連接池的分配與釋放,對(duì)系統(tǒng)的性能有很大的影響。合理的分配與釋放,可以提高連接的復(fù)用性,從而降低建立連接的開銷,同時(shí)還可以加快用戶的訪問(wèn)速度。Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.連接池使用數(shù)據(jù)庫(kù)連接池的關(guān)鍵點(diǎn)4.連接池的配置與維護(hù)連接池到底該放置多少連接,才能使系統(tǒng)的性能最佳?系統(tǒng)可采取設(shè)置最小連接數(shù)和最大連接數(shù)等參數(shù)來(lái)控制連接池中的連接。如何確保連接池中的最小連接數(shù)?有動(dòng)態(tài)和靜態(tài)兩種策略。動(dòng)態(tài)即每隔一段時(shí)間就對(duì)連接池進(jìn)行檢查,如果發(fā)現(xiàn)連接數(shù)量小于最小連接數(shù),則補(bǔ)充相應(yīng)數(shù)量

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論