如何減少CUP使用
TechTarget中國(guó) 發(fā)表于:13年05月03日 12:57 [轉(zhuǎn)載] 網(wǎng)界網(wǎng)
如何減少CUP使用
如果癥狀表現(xiàn)為大量的CPU資源請(qǐng)求,那么原因是什么?在SQL語(yǔ)句層面可能包括:
•糟糕的SQL代碼;
•糟糕的應(yīng)用程序代碼;
•交易應(yīng)用的提交策略不佳;
•過(guò)度使用批量卸載/加載/備份流程;
•頻繁使用RunStats;
•對(duì)緩沖池大小的選擇不當(dāng);
•對(duì)BP頁(yè)集選擇的不當(dāng)分配;
•排序池/RID池的內(nèi)存分配不足;
•內(nèi)存管理不當(dāng)導(dǎo)致實(shí)際存儲(chǔ)的分頁(yè);
•對(duì)DB2子系統(tǒng)的配置不當(dāng);
•DB2配置為最大I/O吞吐量,而非最小CPU利用率;
•DB2配置為高性能寫(xiě)訪問(wèn);
•頻繁執(zhí)行備份;
•執(zhí)行LOAD ... LOG YES。
進(jìn)行SQL語(yǔ)句調(diào)優(yōu)將解決CPU容量問(wèn)題,在正確得出類似結(jié)論之前,DBA必須首先收集相關(guān)數(shù)據(jù)。甚至還需要做更多的工作來(lái)證明通過(guò)給DB2子系統(tǒng)添加CPU容量可以增加吞吐量。
我并不是說(shuō)SQL調(diào)優(yōu)總是在浪費(fèi)時(shí)間,如果你不衡量在這一過(guò)程中資源耗費(fèi)和節(jié)省的狀況,你又怎么能知道這樣做值不值得呢?作為一個(gè)管理者,我更傾向于DBA能將它們寶貴的時(shí)間投入到災(zāi)難恢復(fù)準(zhǔn)備,數(shù)據(jù)可用性和安全性等這些高優(yōu)先級(jí)的問(wèn)題中去。
開(kāi)發(fā)人員編寫(xiě)性能不佳的SQL代碼
這可以說(shuō)是一個(gè)普遍的事實(shí)存在。DBA可以給開(kāi)發(fā)人員提供最佳實(shí)踐以及SQL實(shí)現(xiàn)標(biāo)準(zhǔn),讓他們知道好的SQL開(kāi)發(fā)人員應(yīng)該怎樣寫(xiě)代碼,然后提供SQL代碼示例。
另一個(gè)常被忽視的問(wèn)題是: IT部門(mén)有對(duì)用戶的資源成本負(fù)責(zé)嗎?也就是說(shuō),他們有對(duì)CPU和磁盤(pán)存儲(chǔ)的使用進(jìn)行支付嗎?對(duì)于事務(wù)/應(yīng)用程序有沒(méi)有訂立服務(wù)水平協(xié)議以及配套的處罰措施呢?如果不存在任何的這樣的機(jī)制,那么程序開(kāi)發(fā)人員就會(huì)沒(méi)有動(dòng)力去編寫(xiě)性能優(yōu)良的代碼。
那么我到底要不要做SQL調(diào)優(yōu)?
要擺脫疲于應(yīng)付SQL調(diào)優(yōu)的狀態(tài)就要做根本原因分析。為什么不良SQL總是不斷洶涌而來(lái)?難道是開(kāi)發(fā)人員寫(xiě)代碼太糟糕?如果是這樣,也許解決之道就是培訓(xùn),或是讓他們自己進(jìn)行調(diào)優(yōu)。工具是否會(huì)自動(dòng)生成性能不佳的SQL呢?答案可能會(huì)比較復(fù)雜,因?yàn)樗鼤?huì)涉及到工具的升級(jí),索引管理,RunStats管理,甚至是DB2子系統(tǒng)調(diào)優(yōu)等諸多方面。
最后,DB2子系統(tǒng),數(shù)據(jù)共享以及操作系統(tǒng)配置是最常影響應(yīng)用程序和SQL性能的。如果你花費(fèi)大量時(shí)間在SQL查詢調(diào)優(yōu)上,也僅僅是發(fā)現(xiàn)系統(tǒng)參數(shù)值造成這樣的結(jié)果,難道你不會(huì)覺(jué)得煩躁嗎?難道你就真的希望每每配置發(fā)生改變就要一遍又一遍的對(duì)單條不良SQL語(yǔ)句進(jìn)行調(diào)優(yōu)嗎?
總結(jié)
如果DBA花費(fèi)時(shí)間去做SQL調(diào)優(yōu)而不是修復(fù)導(dǎo)致問(wèn)題的根本原因,那么支持人員和IT部門(mén)要如何成長(zhǎng)?你又如何才能有機(jī)會(huì)變得積極主動(dòng)呢?企業(yè)則會(huì)越來(lái)越依賴于各種問(wèn)題專家。
如果你花費(fèi)職業(yè)生涯來(lái)做SQL調(diào)優(yōu),你可能會(huì)成為這方面的專家。這意味著類似子系統(tǒng)配置,新功能實(shí)施,協(xié)調(diào)災(zāi)難恢復(fù)等工作就會(huì)被交給其他人去做。這對(duì)于DBA職業(yè)的發(fā)展其實(shí)是很不利的。
公司簡(jiǎn)介 | 媒體優(yōu)勢(shì) | 廣告服務(wù) | 客戶寄語(yǔ) | DOIT歷程 | 誠(chéng)聘英才 | 聯(lián)系我們 | 會(huì)員注冊(cè) | 訂閱中心
Copyright © 2013 DOIT Media, All rights Reserved. 北京楚科信息技術(shù)有限公司 版權(quán)所有.