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

下載本文檔

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

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論