影響ORACLE性能的源頭:性能調優原則
2024-08-29 13:50:16
供稿:網友
任何事情都有它的源頭,要解決問題,也得從源頭開始,影響Oracle性能的源頭非常多,主要包括如下方面: 數據庫的硬件配置:CPU、內存、網絡條件 1. CPU:在任何機器中CPU的數據處理能力往往是衡量計算機性能的一個標志,并且ORACLE是一個提供并行能力的數據庫系統,在CPU方面的要求就更高了,假如運行隊列數目超過了CPU處理的數目,性能就會下降,我們要解決的問題就是要適當增加CPU的數量了,當然我們還可以將需要許多資源的進程KILL掉; 2. 內存:衡量機器性能的另外一個指標就是內存的多少了,在ORACLE中內存和我們在建數據庫中的交換區進行數據的交換,讀數據時,磁盤I/O必須等待物理I/O操作完成,在出現ORACLE的內存瓶頸時,我們第一個要考慮的是增加內存,由于I/O的響應時間是影響ORACLE性能的主要參數,我將在這方面進行具體的講解 3. 網絡條件:NET*SQL負責數據在網絡上的來往,大量的SQL會令網絡速度變慢。比如10M的網卡和100的網卡就對NET*SQL有非常明顯的影響,還有交換機、集線器等等網絡設備的性能對網絡的影響很明顯,建議在任何網絡中不要試圖用3個集線器來將網段互聯。 OS參數的設置 下表給出了OS的參數設置及說明,DBA可以根據實際需要對這些參數進行設置
內核參數名
說明
bufpages
對buffer空間不按靜態分配,采用動態分配,使bufpages值隨nbuf一起對buffer空間進行動態分配。
create_fastlinks
對HFS文件系統答應快速符號鏈接
dbc_max_pct
加大最大動態buffer空間所占物理內存的百分比,以滿足應用系統的讀寫命中率的需要。
dbc_min_pct
設置最小動態buffer空間所占物理內存的百分比
desfree
提高開始交換操作的最低空閑內存下限,保障系統的穩定性,防止出現不可預見的系統崩潰(Crash)。
fs_async
答應進行磁盤異步操作,提高CPU和磁盤的利用率
lotsfree
提高系統解除換頁操作的空閑內存的上限值,保證應用程序有足夠的可用內存空間。
maxdsiz
針對系統數據量大的特點,加大最大數據段的大小,保證應用的需要。(32位)
maxdsiz_64bit
maximum PRocess data segment size for 64_bit
Maxssiz
加大最大堆棧段的大小。(32_bit)
maxssiz_64bit
加大最大堆棧段的大小。(64_bit)
Maxtsiz
提高最大代碼段大小,滿足應用要求
maxtsiz_64bit
原值過大,應調小
Minfree
提高停止交換操作的自由內存的上限
Shmem
答應進行內存共享,以提高內存的利用率
Shmmax
設置最大共享內存段的大小,完全滿足目前的需要
Timeslice
由于系統的瓶頸主要反映在磁盤I/O上,因此 降低時間片的大小,一方面可避免因磁盤I/O不暢造成CPU的等待,從而提高了CPU的綜合利用率。另一方面減少了進程的阻塞量。
unlockable_mem
提高了不可鎖內存的大小,使可用于換頁和交換的內存空間擴大,用以滿足系統對內存治理的要求。