資源描述:
《Sybase數(shù)據(jù)庫性能調(diào)優(yōu).doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、Sybase數(shù)據(jù)庫性能調(diào)優(yōu)1概述1.1性能指標(biāo)??????數(shù)據(jù)庫性能一般用兩個方面的指標(biāo)來衡量:響應(yīng)時間和吞吐量。響應(yīng)越快,吞吐量越大,數(shù)據(jù)庫性能越好。響應(yīng)時間和吞吐量有些情況下不能一起得到改善。?1.2調(diào)優(yōu)級別對Sybase數(shù)據(jù)庫性能調(diào)優(yōu),可以從四個方面進(jìn)行:一)?操作系統(tǒng)級:對網(wǎng)絡(luò)性能、操作系統(tǒng)參數(shù)、硬件性能等作改進(jìn)。二)?DBServer級:調(diào)整存取方法,改善內(nèi)存管理和鎖管理等。三)?數(shù)據(jù)庫設(shè)計級:采用降范式設(shè)計,合理設(shè)計索引,分布存放數(shù)據(jù)等。四)?應(yīng)用程序級:采用高效SQL語句,合理安排事務(wù),應(yīng)用游標(biāo),處理鎖。本文對第一方面的內(nèi)容不做討論,第二方
2、面提到的概念只適用于Sybase數(shù)據(jù)庫,但第三、第四方面討論的問題同樣適用于Sybase外的其他數(shù)據(jù)庫。以上各個方面的措施是相互牽連的,具體到解決一個性能問題,有時候要綜合應(yīng)用。?1.3調(diào)優(yōu)工具???在分析Sybase數(shù)據(jù)庫的性能時,要用到一些數(shù)據(jù)庫系統(tǒng)本身提供的性能調(diào)優(yōu)工具,包括幾個系統(tǒng)存儲過程:名稱功能簡要介紹sp_sysmon企業(yè)級系統(tǒng)性能報告工具sp_lock查看鎖的情況sp_who查看線程的活動情況sp_procqmode存儲過程的查詢處理模式sp_configure配置SQLServer系統(tǒng)級參數(shù)sp_estspace估計創(chuàng)建一個表需要的空間
3、和時間sp_spaceused估計表的總行數(shù)及表和索引占用的空間sp_monitor監(jiān)視CPU、I/O的統(tǒng)計活動情況?在利用isql等一些工具時,還可以設(shè)置查詢會話中的幾個選項,來顯示SQL語句執(zhí)行時的各種統(tǒng)計分析結(jié)果:指令On的含義setnoexecon/off分析SQL語句后,還要執(zhí)行setstatisticsioon/off統(tǒng)計SQL執(zhí)行所需I/Osetstatisticstimeon/off統(tǒng)計SQL語句執(zhí)行耗時setshowplanon/off顯示查詢計劃?1.4sp_sysmon的使用企業(yè)級性能報告工具、系統(tǒng)存儲過程sp_sysmon的使用方
4、法:在isql下,首先輸入???sp_sysmon'begin_sample'??啟動一個報告采樣過一段時間后,再輸入??sp_sysmon'end_sample'?????結(jié)束上次報告采樣或者緊跟一參數(shù)?????????sp_sysmon'end_sample',"dcache"結(jié)束上次報告采樣,但只顯示數(shù)據(jù)緩沖(DataCacheManagement)這一部分的情況。能替換dcache的可選參數(shù)如下表所示:參數(shù)參數(shù)全稱,內(nèi)容范圍解釋DcacheDataCacheManagement,數(shù)據(jù)緩沖KernelKernelUtilization,有關(guān)引擎、網(wǎng)
5、絡(luò)和I/O等情況WpmWorkerProcessManagementParallelParallelQueryManagementTaskmgmtTaskManagementAppmgmtApplicationManagementEspESPManagementHousekeeperHousekeeperTaskActivityMonaccessMonitorAccesstoExecutingSQLXactsumTransactionProfileXactmgmtTransactionManagementIndexmgmtIndexManagement,
6、索引管理MdcacheMetadataCacheManagementLocksLockManagement,鎖管理PcacheProcedureCacheManagementMemoryMemoryManagementRecoveryRecoveryManagementDiskioDiskI/OManagement,磁盤I/O管理NetioNetworkI/OManagement?1.5用sp_sysmon可以得到數(shù)據(jù)庫系統(tǒng)的性能基準(zhǔn)報告,但要在比較穩(wěn)定的狀態(tài)下產(chǎn)生,方可作為參考和對照的依據(jù)。?1.6理解存儲方法只有清楚數(shù)據(jù)庫存儲數(shù)據(jù)的底層細(xì)節(jié),如數(shù)據(jù)頁
7、、索引頁的物理結(jié)構(gòu),每一行的大小計算,不同類型列占用的寬度等等問題,才能對各種調(diào)優(yōu)措施有個深入領(lǐng)會。關(guān)于這個問題,比較復(fù)雜和細(xì)致,請自行參閱有關(guān)書籍。一般地,對于更改數(shù)據(jù)的操作,要盡量促進(jìn)數(shù)據(jù)庫進(jìn)行直接更新(DirectUpdates),所以要遵守以下幾條原則:1)除非必要,避免使用允許null值的列和可變長度的列。2)如果varchar和varbinary列填充得比較滿,毫不猶豫轉(zhuǎn)成char和binary列。對于建表時指定的頁填充率(pagefillfactor)參數(shù),要權(quán)衡確定數(shù)值大小。一般:小值,適合于有許多隨機插入的表,該表的數(shù)據(jù)經(jīng)常被刪除,又經(jīng)
8、常被增加;大值,適合于大多數(shù)的數(shù)據(jù)被增加到表末尾,如客票系統(tǒng)的售票存根和退票存根