資源描述:
《淺析sqlserver數(shù)據(jù)庫(kù)的性能優(yōu)化》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、淺析SQLServer數(shù)據(jù)庫(kù)的性能優(yōu)化>>教育資源庫(kù) 在一個(gè)大型的數(shù)據(jù)庫(kù)中,性能成為人們關(guān)注的焦點(diǎn)之一,如何讓數(shù)據(jù)庫(kù)高效有效的運(yùn)行成為廣大數(shù)據(jù)庫(kù)管理人員和開(kāi)發(fā)人員必須要考慮的問(wèn)題。性能是一個(gè)應(yīng)用或多個(gè)應(yīng)用在相同的環(huán)境下運(yùn)行時(shí)對(duì)效率的衡量。性能常用響應(yīng)時(shí)間和工作效率來(lái)表示。響應(yīng)時(shí)間是指完成一個(gè)任務(wù)花費(fèi)的時(shí)間,可以從以下三方面來(lái)減少響應(yīng)時(shí)間: 減少競(jìng)爭(zhēng)和等待的次數(shù),尤其是磁盤(pán)讀寫(xiě)等待次數(shù) 利用更快的部件 減少利用資源所需的時(shí)間 絕大多數(shù)性能的獲得來(lái)自于優(yōu)秀的數(shù)據(jù)庫(kù)設(shè)計(jì)、精確的查詢分析和適當(dāng)?shù)乃饕?。最好性能的獲得能夠通過(guò)確立優(yōu)秀的數(shù)據(jù)庫(kù)設(shè)計(jì),在開(kāi)發(fā)時(shí)學(xué)會(huì)使
2、用SQLServer查詢優(yōu)化器來(lái)實(shí)現(xiàn)?! 榱巳〉酶玫臄?shù)據(jù)庫(kù)性能,我們就需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行優(yōu)化,減少系統(tǒng)資源的競(jìng)爭(zhēng),如對(duì)數(shù)據(jù)cache,過(guò)程cache,系統(tǒng)資源和CPU的競(jìng)爭(zhēng)?! ≡赟QLServer中,有如下優(yōu)化層次: 應(yīng)用層大部分性能的獲得來(lái)自于對(duì)你的SQL應(yīng)用中查詢的優(yōu)化,這必須是以好的數(shù)據(jù)庫(kù)設(shè)計(jì)為基礎(chǔ)的?! ?shù)據(jù)庫(kù)層應(yīng)用共享在數(shù)據(jù)庫(kù)層中的資源,這些資源包括硬盤(pán),事務(wù)日志和數(shù)據(jù)cache?! 》?wù)器層在服務(wù)器層有許多共享的資源,包括數(shù)據(jù)高速緩存,過(guò)程高速緩存,鎖,CPU等?! ≡O(shè)備層指的是存儲(chǔ)數(shù)據(jù)的磁盤(pán)及其控制器,在這一層,你應(yīng)尤其關(guān)注磁盤(pán)的I/O?!?/p>
3、 網(wǎng)絡(luò)層指連接用戶和SQLServer的網(wǎng)絡(luò)。 硬件層指可利用的CPU?! 〔僮飨到y(tǒng)層理想地,SQLServer是一臺(tái)機(jī)器的唯一主要應(yīng)用,它必須和操作系統(tǒng)以及其他sybase軟件,如BackupServer或SQLServerMonitor共享處理器、內(nèi)存以及其他資源?! ≡诖蠖鄶?shù)情況下面,我們是對(duì)應(yīng)用層進(jìn)行優(yōu)化,,因?yàn)閷?duì)應(yīng)用性能的優(yōu)化是大家最樂(lè)于接受的功能,其結(jié)果能被觀測(cè)及檢驗(yàn),查詢的性能是SQL應(yīng)用的整個(gè)性能的一個(gè)關(guān)鍵?! ?yīng)用層上的問(wèn)題包括以下內(nèi)容: 決策支持VS.和在線事務(wù)處理(OLTP)需要不同的性能策略 事務(wù)設(shè)計(jì)能夠減少并發(fā),因?yàn)殚L(zhǎng)的事務(wù)保持
4、占用鎖,也就減少了其他用戶對(duì)相關(guān)數(shù)據(jù)的存取 關(guān)聯(lián)一致性對(duì)數(shù)據(jù)修改需要join操作 支持Select操作的索引增加了修改數(shù)據(jù)的時(shí)間 為了安全而設(shè)立的審計(jì)限制了性能 在應(yīng)用層優(yōu)化的選項(xiàng)包括: 遠(yuǎn)程處理或復(fù)制處理能夠把決策支持從OLTP機(jī)器中分離出來(lái) 利用存儲(chǔ)過(guò)程來(lái)減少編譯時(shí)間和網(wǎng)絡(luò)的利用 利用最少量的鎖去滿足你的應(yīng)用需要 數(shù)據(jù)庫(kù)層的問(wèn)題包括: 建立備份和恢復(fù)方案 在設(shè)備上分布存儲(chǔ)數(shù)據(jù) 審計(jì)操作影響性能;僅審計(jì)你所需的 日常的維護(hù)活動(dòng)將導(dǎo)致性能的降低和導(dǎo)致用戶不能操作數(shù)據(jù)庫(kù)表 在數(shù)據(jù)庫(kù)層上優(yōu)化選擇包括: 利用事務(wù)日志的閥值來(lái)自動(dòng)轉(zhuǎn)儲(chǔ)事務(wù)日
5、志防止其超出使用空間 在數(shù)據(jù)段中用閥值來(lái)監(jiān)視空間的使用 利用分區(qū)來(lái)加速數(shù)據(jù)的裝入 對(duì)象的定位以避免硬盤(pán)的競(jìng)爭(zhēng) 把重要表和索引放入cache中,保證隨時(shí)取得 服務(wù)器層的問(wèn)題有: 應(yīng)用的類型服務(wù)器是支持OLTP還是DSS,或者兩者都支持 所支持的用戶數(shù)影響優(yōu)化決策隨著用戶數(shù)的增加,對(duì)資源的競(jìng)爭(zhēng)會(huì)發(fā)生改變 網(wǎng)絡(luò)負(fù)荷 當(dāng)用戶數(shù)和事務(wù)數(shù)達(dá)到一定的數(shù)量時(shí)復(fù)制服務(wù)器或其他分布式處理是一個(gè)解決的方法 服務(wù)器層的優(yōu)化的選項(xiàng)包括: 優(yōu)化內(nèi)存一個(gè)關(guān)鍵的配置參數(shù)和其他方面的參數(shù) 決策是客戶端處理還是服務(wù)器端處理有些處理能在客戶端進(jìn)行嗎 配置cache的大小和
6、I/O的大小 增加多個(gè)CPU 為空閑時(shí)間排定批處理任務(wù)和生成報(bào)表 工作負(fù)荷發(fā)生改變,重新配置特定參數(shù) 決定是否可能把DSS移到另一個(gè)SQL服務(wù)器中設(shè)備層 設(shè)備層的問(wèn)題包括: 主設(shè)備、包含用戶數(shù)據(jù)庫(kù)的設(shè)備,用戶數(shù)據(jù)設(shè)備,或數(shù)據(jù)庫(kù)日志是否要鏡像 怎樣在設(shè)備之間分布系統(tǒng)數(shù)據(jù)庫(kù)、用戶數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)日志 為獲得對(duì)堆表插入操作的高性能,是否有必要進(jìn)行分區(qū) 設(shè)備層上優(yōu)化的選項(xiàng)包括: 用多個(gè)中等大小的設(shè)備及多個(gè)控制器可能比用少量的大設(shè)備有更好的I/O性能 分布數(shù)據(jù)庫(kù),表和索引以在不同的設(shè)備上進(jìn)行I/O裝載 網(wǎng)絡(luò)層 實(shí)際上,SQLServer的所有用戶
7、都是通過(guò)網(wǎng)絡(luò)存取他們的數(shù)據(jù)。網(wǎng)絡(luò)層上的主要問(wèn)題有: 網(wǎng)絡(luò)的流量 網(wǎng)絡(luò)的瓶頸 網(wǎng)絡(luò)的速度 網(wǎng)絡(luò)層上優(yōu)化的選項(xiàng)包括: 配置包的大小,以使其與應(yīng)用的需要相匹配 配置子網(wǎng) 分隔出繁忙的網(wǎng)絡(luò)運(yùn)用 創(chuàng)建一個(gè)高容量的網(wǎng)絡(luò) ·12下一頁(yè)>>>>這篇文章來(lái)自..,。;配置多個(gè)網(wǎng)絡(luò)引擎 更好地設(shè)計(jì)應(yīng)用,限制所需的網(wǎng)絡(luò)傳輸 硬件層 在硬件層上的問(wèn)題包括 CPU的效率 磁盤(pán)的存取:控制器和磁盤(pán) 磁盤(pán)備份 內(nèi)存的使用 在硬件層上優(yōu)化的選項(xiàng)包括: 增加CPU以適應(yīng)工作負(fù)荷 配置調(diào)度程序以提高CPU利用率 遵循多處理器應(yīng)用設(shè)計(jì)指導(dǎo)以減少競(jìng)
8、爭(zhēng) 配置多個(gè)數(shù)據(jù)cache操作系統(tǒng)層