• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      Oracle數(shù)據(jù)庫應(yīng)用系統(tǒng)的性能優(yōu)化

      2019-03-19 13:57:00賈艷芳任利鋒
      產(chǎn)業(yè)與科技論壇 2019年4期
      關(guān)鍵詞:數(shù)據(jù)庫系統(tǒng)緩沖區(qū)語句

      □宋 萍 賈艷芳 董 晨 任利鋒

      一、數(shù)據(jù)庫性能評價指標(biāo)分析

      在實際的應(yīng)用和開發(fā)過程中,數(shù)據(jù)庫性能通常受資源、并發(fā)活動、服務(wù)器等因素影響。其中吞吐量、響應(yīng)時間、命中率、內(nèi)存使用情況、磁盤I/O量是Oracle數(shù)據(jù)庫性能評價的一些主要評價指標(biāo)。

      (一)系統(tǒng)吞吐量。數(shù)據(jù)庫中的吞吐量直接影響到了用戶請求的執(zhí)行時間,這個吞吐量是SQL語句的數(shù)量除以執(zhí)行時所用時間得到的,因此吞吐量越小,表明系統(tǒng)在一定時間內(nèi)執(zhí)行結(jié)束的SQL語句越少,造成資源浪費(fèi)。反之系統(tǒng)資源可以得到充分利用??梢酝ㄟ^用最少的時間完成更多的任務(wù)量或者減少總的用戶響應(yīng)時間,從而減少總時間兩種辦法來增加數(shù)據(jù)庫系統(tǒng)的吞吐量。

      (二)用戶響應(yīng)時間。數(shù)據(jù)庫響應(yīng)時間受許多方面的影響,分析SQL語句的響應(yīng)時間,需要根據(jù)不同的應(yīng)用環(huán)境與具體情況進(jìn)行分析??梢酝ㄟ^減少等待時間和增加吞吐量從而實現(xiàn)提高性能或者通過減少用戶訪問同一數(shù)據(jù)庫造成沖突率。

      (三)數(shù)據(jù)庫命中率。數(shù)據(jù)通過高速緩沖區(qū)進(jìn)行存取,所以數(shù)據(jù)命中率直接影響了數(shù)據(jù)庫的性能。這個命中率是命中數(shù)/(命中數(shù)+沒有命中數(shù))。數(shù)據(jù)庫命中率并非越大越好,有較高的水平并不能代表有良好的性質(zhì)與效用。

      (四)內(nèi)存使用情況。合理的使用內(nèi)存可以影響數(shù)據(jù)庫性能,如果可使用內(nèi)存多,可有效提高數(shù)據(jù)庫的性能,減少或者消除瓶頸的產(chǎn)生。

      (五)所需磁盤的I/O量。如果數(shù)據(jù)很分散,也會影響數(shù)據(jù)的查詢時間,從而導(dǎo)致用戶響應(yīng)時間過長。降低用戶響應(yīng)時所需的時間,也有效提高了用戶任務(wù)的數(shù)量并且可以通過降低I/O開銷從而實現(xiàn)增加用戶任務(wù)所需要的吞吐量。

      二、影響數(shù)據(jù)庫性能的因素

      想要優(yōu)化數(shù)據(jù)庫的響應(yīng)效率,就要先知道可以被優(yōu)化的因素,影響數(shù)據(jù)庫效率的因素主要有以下幾點(diǎn)。

      (一)硬件能力。硬件能力主要包括CPU、內(nèi)存、輸入輸出和網(wǎng)絡(luò)因素。其中Oracle數(shù)據(jù)庫是一個多用戶的數(shù)據(jù)庫,對CPU性能要求更高,CPU的能力相對于其他因素起著主要作用,CPU的配置和處理能力直接影響了數(shù)據(jù)庫性能,導(dǎo)致CPU占用率過高的因素有很多,查詢語句的高并發(fā)是主要原因之一,這一點(diǎn)可以通過優(yōu)化SQL語句或者調(diào)整CPU參數(shù)來解決。內(nèi)存也是影響原因之一,內(nèi)存越大,I/O響應(yīng)時間越短。其中網(wǎng)絡(luò)I/O也是數(shù)據(jù)庫性能中的重要影響因素之一。

      (二)系統(tǒng)環(huán)境。Oracle數(shù)據(jù)庫非常依賴于操作系統(tǒng),系統(tǒng)環(huán)境主要是指數(shù)據(jù)庫的參數(shù)配置,如果系統(tǒng)環(huán)境配置不合理會影響數(shù)據(jù)庫性能,不恰當(dāng)?shù)膮?shù)配置可能會導(dǎo)致磁盤競爭、啟動時out of memory報錯等問題,嚴(yán)重影響數(shù)據(jù)庫系統(tǒng)的效率。配置參數(shù)主要由內(nèi)存分配、I/O設(shè)置、回滾設(shè)置等組成。

      (三)數(shù)據(jù)庫內(nèi)部因素。主要是指索引、阻塞、等待、隱式轉(zhuǎn)換、參數(shù)嗅探和統(tǒng)計信息等因素索引在磁盤上占用空間,并且減慢插入、刪除和更新的速度,降低執(zhí)行效率。所以給不常用的數(shù)據(jù)表建立索引不僅不能提高數(shù)據(jù)表的查詢效率,相反,會增加系統(tǒng)負(fù)擔(dān)以及維護(hù)成本。

      (四)系統(tǒng)規(guī)模。并發(fā)量和數(shù)據(jù)量是指同一時間段內(nèi)由于用戶訪問量過高而影響數(shù)據(jù)庫正常使用的情況,而解決并發(fā)問題可以通過分表、分流、橫向擴(kuò)展等方法。

      三、Oracle數(shù)據(jù)庫優(yōu)化技術(shù)與手段

      隨著當(dāng)今對于數(shù)據(jù)庫系統(tǒng)的需求日益增高,對數(shù)據(jù)庫性能的要求也日益苛刻,從而要求從各個角度優(yōu)化數(shù)據(jù)庫系統(tǒng)的性能,而影響數(shù)據(jù)庫系統(tǒng)效率的主要因素大致可分為三方面:一是CPU利用率方面,二是內(nèi)存分配方向,三是SQL語句的優(yōu)化方向。

      (一)對于CPU利用率的優(yōu)化。要想提高數(shù)據(jù)庫效率,對CPU的利用率的提高是必不可少的,CPU的使用狀態(tài)會對Oracle數(shù)據(jù)庫的總體響應(yīng)時間產(chǎn)生極為重要的影響,從而影響數(shù)據(jù)庫的執(zhí)行效率。CPU總需要運(yùn)行的時間包括兩個方面,分別是CPU操作對于用戶來說響應(yīng)的時間即os user level cpu time以及CPU對于系統(tǒng)操作進(jìn)行響應(yīng)的時間即os system call cpu time。通過研究可以發(fā)現(xiàn),導(dǎo)致CPU資源利用率相對較低的原因較多,其中起著主要因素的一個原因是SQL語句較低的效率問題。開始需要知道的一點(diǎn)是,在對Oracle數(shù)據(jù)庫系統(tǒng)與之對應(yīng)的應(yīng)用程序進(jìn)行統(tǒng)一調(diào)配的過程中,Oracle數(shù)據(jù)庫系統(tǒng)的CPU使用時間如果能夠達(dá)到CPU90%的全部使用時間或更多,那么就代表著Oracle數(shù)據(jù)庫系統(tǒng)與之對應(yīng)的應(yīng)用程序處于相對正常的執(zhí)行狀態(tài),star-u指令可以查看CPU當(dāng)前的使用效率,主要作用就是對CPU作相應(yīng)的運(yùn)行記錄,當(dāng)前需要注意的是,系統(tǒng)響應(yīng)時間減去服務(wù)時間就是用戶等待時間的計算方式。

      (二)對于內(nèi)存分配的優(yōu)化。Oracle的內(nèi)存可以按照共享和私有的角度分為SGA和PGA(process global area or private global area),對內(nèi)存的優(yōu)化也主要從這兩方面著手,優(yōu)化SGA可以通過調(diào)整其中的數(shù)據(jù)庫組件參數(shù)來達(dá)到提高系統(tǒng)響應(yīng)效率的目的,其中對于參數(shù)Pre_page_sga的調(diào)整顯得尤為重要,該參數(shù)可以將整個SGA加載到物理內(nèi)存中,從而有效提高系統(tǒng)執(zhí)行效率。而PGA(Process Global Area)是為每個連接到Oracle database的用戶進(jìn)程保留的內(nèi)存。而上述兩種內(nèi)存結(jié)構(gòu)又包括很多方面,主要討論以下三方面的分析和調(diào)優(yōu)。

      1.對于共享池的優(yōu)化。可以對SHARE_POOL_SIZE根據(jù)實際需要每個節(jié)點(diǎn)進(jìn)行自定義調(diào)整,安置共享池的主要作用就是對于之前查詢過的LQS進(jìn)行保存,從而提高二次查詢的相應(yīng)速度,相應(yīng)的,如果共享池容量過小,過多語言的載入就會影響系統(tǒng)的性能,反之,如果共享池容量過大,連僅執(zhí)行一次的語句也要緩存,會造成不必要的浪費(fèi)。

      2.對緩沖區(qū)高速緩存的優(yōu)化。調(diào)整數(shù)據(jù)緩沖區(qū)的容量大小有助于減少系統(tǒng)磁盤的I/O開銷,所以應(yīng)對高速緩沖區(qū)進(jìn)行優(yōu)化,盡可能減小用戶請求響應(yīng)時間,優(yōu)化日志緩沖區(qū)之前,要了解日志緩沖區(qū)的運(yùn)行情況,通過查詢結(jié)果來計算緩沖區(qū)的申請失敗率,了解了運(yùn)行情況之后可以通過提高init.ora中的log_buffer的值來提高響應(yīng)速度。

      3.對日志緩沖區(qū)的優(yōu)化。對于每個dml或ddl語句,Oracle服務(wù)器進(jìn)程復(fù)制到重做日志緩沖區(qū)上,重做條目包含一些信息,用于重做或重構(gòu)dml或ddl操作,用于占據(jù)日志緩沖區(qū)的連續(xù)的有序空間,并恢復(fù)數(shù)據(jù)庫,可以有效優(yōu)化日志緩沖區(qū)。

      (三)對于SQL語句的優(yōu)化。對SQL語句的本質(zhì)進(jìn)行判斷,是優(yōu)化SQL語句的前提,優(yōu)化SQL語句有利于降低I/O請求,降低網(wǎng)絡(luò)占用率,可以從根本上提高數(shù)據(jù)庫效率。建立索引是一種良好的優(yōu)化SQL語句的方案,通常,索引被建立在經(jīng)常訪問的數(shù)據(jù)表中的主鍵上,使用索引查找要比全表掃描速度要快,所以應(yīng)盡量減少全盤掃描的操作,在聯(lián)結(jié)多個表時也可以使用索引提高效率,通常在大型表中索引可以極大優(yōu)化相應(yīng)速度,但是索引需要定期維護(hù),不恰當(dāng)?shù)乃饕龝鬼憫?yīng)速度變慢,有必要對索引進(jìn)行定期重構(gòu)。

      四、結(jié)語

      對Oracle數(shù)據(jù)庫所對應(yīng)應(yīng)用系統(tǒng)的性能進(jìn)行調(diào)整和優(yōu)化需要結(jié)合相應(yīng)的硬件環(huán)境,它貫穿在整個數(shù)據(jù)庫系統(tǒng)研發(fā)進(jìn)程中,提升Oracle數(shù)據(jù)庫應(yīng)用系統(tǒng)性能,保證業(yè)務(wù)處理穩(wěn)定性始終是優(yōu)化數(shù)據(jù)庫性能的主要目標(biāo),而上述三方面的優(yōu)化途徑可以有效提高數(shù)據(jù)庫響應(yīng)速度,從而提高系統(tǒng)性能。

      猜你喜歡
      數(shù)據(jù)庫系統(tǒng)緩沖區(qū)語句
      嵌入式系統(tǒng)環(huán)形緩沖區(qū)快速讀寫方法的設(shè)計與實現(xiàn)
      重點(diǎn):語句銜接
      數(shù)據(jù)庫系統(tǒng)shell腳本應(yīng)用
      電子測試(2018年14期)2018-09-26 06:04:24
      精彩語句
      微細(xì)銑削工藝數(shù)據(jù)庫系統(tǒng)設(shè)計與開發(fā)
      實時數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)安全采集方案
      核反應(yīng)堆材料數(shù)據(jù)庫系統(tǒng)及其應(yīng)用
      關(guān)鍵鏈技術(shù)緩沖區(qū)的確定方法研究
      如何搞定語句銜接題
      語文知識(2014年4期)2014-02-28 21:59:52
      地理信息系統(tǒng)繪圖緩沖區(qū)技術(shù)設(shè)計與實現(xiàn)
      恩施市| 崇州市| 平和县| 河北区| 侯马市| 汕尾市| 榆林市| 大厂| 玉门市| 东山县| 苍溪县| 诏安县| 磐石市| 乌兰浩特市| 新宁县| 武鸣县| 纳雍县| 中江县| 海南省| 惠来县| 册亨县| 平武县| 崇礼县| 库伦旗| 凤庆县| 藁城市| 桐城市| 德阳市| 班玛县| 文成县| 垦利县| 博兴县| 襄樊市| 秀山| 莱阳市| 丰县| 尚义县| 锦屏县| 黄陵县| 沈阳市| 洮南市|