數(shù)據(jù)庫(kù)服務(wù)器CPU占用率太高原因分析及后續(xù)改進(jìn)措施_第1頁(yè)
數(shù)據(jù)庫(kù)服務(wù)器CPU占用率太高原因分析及后續(xù)改進(jìn)措施_第2頁(yè)
數(shù)據(jù)庫(kù)服務(wù)器CPU占用率太高原因分析及后續(xù)改進(jìn)措施_第3頁(yè)
數(shù)據(jù)庫(kù)服務(wù)器CPU占用率太高原因分析及后續(xù)改進(jìn)措施_第4頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、數(shù)據(jù)庫(kù)服務(wù)器 CPU 占用率太高原因分析及后續(xù)改進(jìn)措施一原因分析本次正式數(shù)據(jù)庫(kù)服務(wù)器CPU 占用率太高導(dǎo)致應(yīng)用無(wú)法連接數(shù)據(jù)庫(kù)無(wú)法鏈接主要有以下兩個(gè)方面的原因:1.作為維護(hù)人員責(zé)任心不夠,未能及時(shí)發(fā)現(xiàn)數(shù)據(jù)庫(kù)存在的問(wèn)題導(dǎo)致問(wèn)題積累以致系統(tǒng)無(wú)法響應(yīng)。2.在開(kāi)發(fā)過(guò)程中還是存在部分SQL 語(yǔ)句不規(guī)范以及索引未創(chuàng)建或者創(chuàng)建不合理的問(wèn)題。二改進(jìn)措施1. 數(shù)據(jù)庫(kù)日常監(jiān)控在日常維護(hù)工作中增加對(duì)數(shù)據(jù)庫(kù)服務(wù)器CPU 及內(nèi)存占用情況的監(jiān)控,定期抽取占用CPU 及內(nèi)存較大的 SQL 語(yǔ)句基于以下兩個(gè)原則進(jìn)行優(yōu)化:1.1 、因未創(chuàng)建索引或者因索引創(chuàng)建不合理導(dǎo)致為起到應(yīng)有作用原因?qū)е碌恼加肅PU 或內(nèi)存較高或運(yùn)行時(shí)間較長(zhǎng)的

2、SQL ,在找到原因后直接進(jìn)行處理以達(dá)到解決問(wèn)題的目的。1.2 、如因 SQL 本身不夠優(yōu)化導(dǎo)致占用CPU 或內(nèi)存較高或運(yùn)行時(shí)間較長(zhǎng)的,提取出后將SQL 發(fā)給相關(guān)開(kāi)發(fā)人員,由開(kāi)發(fā)人員在應(yīng)用中進(jìn)行修改。2. 增加性能及壓力測(cè)試與甘工溝通后,就公司后期項(xiàng)目特別是 B/S 類(lèi)項(xiàng)目,在項(xiàng)目正式上線 前增加性能及壓力測(cè)試,同時(shí)在數(shù)據(jù)庫(kù)方面盡量模擬系統(tǒng)實(shí)際上線后的環(huán)境,以便通過(guò)性能及壓力測(cè)試及時(shí)發(fā)現(xiàn)數(shù)據(jù)庫(kù)方面的瓶頸,及時(shí)發(fā)現(xiàn)不夠合理的 SQL 并進(jìn)行優(yōu)化。3. 在日常開(kāi)發(fā)中 SQL 優(yōu)化方面注意的問(wèn)題SQL Select語(yǔ)句完整的執(zhí)行順序:1 、 from子句組裝來(lái)自不同數(shù)據(jù)源的數(shù)據(jù);2 、 where子

3、句基于指定的條件對(duì)記錄行進(jìn)行篩選;3 、 group by子句將數(shù)據(jù)劃分為多個(gè)分組;精選文檔4 、使用聚集函數(shù)進(jìn)行計(jì)算;5 、使用 having 子句篩選分組;6 、計(jì)算所有的表達(dá)式;7 、使用 order by 對(duì)結(jié)果集進(jìn)行排序。SQL 優(yōu)化方面注意問(wèn)題1、ORACLE 采用自下而上的順序解析WHERE 子句根據(jù)這個(gè)原理 ,表之間的連接必須寫(xiě)在其他WHERE條件之前 , 那些可以過(guò)濾掉最大數(shù)量記錄的條件必須寫(xiě)在WHERE 子句的末尾 .2、 FROM 子句中的表明采用從右往左的的順序處理,因此在FROM 子句中寫(xiě)在最后的表(基礎(chǔ)表)最先被處理。因此在如FROM 子句中有多個(gè)表,需選擇記錄數(shù)最

4、少的表作為基礎(chǔ)表。3、 SELECT 子句中避免使用 *4、使用表的別名 (Alias) ,且在 SQL 中有多個(gè)表時(shí),需將別名前綴到每個(gè)列前。5、盡量避免使用 in ,建議使用 EXISTS( 或 NOT EXISTS) ,關(guān)于此點(diǎn)需具體情況具體分析。6、避免使用 having函數(shù)7、建立索引時(shí),索引列可選擇性一定要高(可選擇性即索引列里存儲(chǔ)不同值的數(shù)目和記錄數(shù)的比),如公司防偽碼所建立的索引的可選擇性為1 非常好。8、及時(shí)關(guān)閉對(duì)數(shù)據(jù)庫(kù)的鏈接。9、計(jì)算記錄條數(shù): count(*) 比 count(1)稍快,最快的是對(duì)索引列的計(jì)數(shù), 也就是說(shuō)如果需要計(jì)數(shù)時(shí),如果有索引列需使用索引列進(jìn)行計(jì)數(shù)。1

5、0 、針對(duì)索引列需要注意的:避免使用NOT, 避免使用計(jì)算,避免使用NULL,NOT NULL,11 、SQL 語(yǔ)句使用大寫(xiě)。12 、盡量使用 >= 代替 >或者<= 代替 <.三待處理問(wèn)題2精選文檔1.占用 CPU 較高進(jìn)程在近幾天的日常監(jiān)控中經(jīng)常發(fā)現(xiàn)有個(gè)別進(jìn)程占用單個(gè)CPU 超過(guò) 40% ,且占用率長(zhǎng)時(shí)間沒(méi)有降低,如下圖所示通過(guò)該進(jìn)程號(hào)對(duì)應(yīng)的內(nèi)存地址在數(shù)據(jù)庫(kù)中查詢(xún),查詢(xún)結(jié)果為SMS9588.exe應(yīng)用程序。將該程序進(jìn)程Kill 或重新啟動(dòng)該程序后CPU 占用率降低, 證明確實(shí)為該程序占用較高的內(nèi)存,因此需分析一下導(dǎo)致該程序占用CPU 較高的原因并解決。2. 問(wèn)題 S

6、QL關(guān)于問(wèn)題SQL ,詳細(xì)請(qǐng)參考優(yōu)化SQL 列表 .xlsx 文件。、3. 其他個(gè)別應(yīng)用在監(jiān)控過(guò)程中發(fā)現(xiàn)其他占用資源較高的應(yīng)用有模糊查詢(xún)類(lèi)工具,以美贊臣為例如需對(duì)一個(gè)數(shù)碼進(jìn)行模糊查詢(xún)需對(duì)接近 20 張表進(jìn)行 like 及 Union 操作,此類(lèi)操作會(huì)耗費(fèi)系統(tǒng)大量的資源,如果在數(shù)據(jù)庫(kù)系統(tǒng)本身資源就緊張的情況下再進(jìn)行此類(lèi)操作,極有可能會(huì)對(duì)數(shù)據(jù)庫(kù)造成較大的影響,因此對(duì)于此類(lèi)工具建議盡量少用或不用。四SQL 語(yǔ)句性能監(jiān)控方法1. 通過(guò)在 V$SQL 表中查詢(xún)近期運(yùn)行語(yǔ)句,如 BUFFER_GETS 或 DISK_GETS 太高一般情況下 SQL 需要進(jìn)行優(yōu)化。2. 通過(guò)SELECT b.sql_textFROM V$SESSION a LEFT OUTER JOIN v$sqlarea b ON a.sql_address=b.addressWHERE EXISTS(SELECT 1 FROM

溫馨提示

  • 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)論