4.磁盤I/O性能評估 node
(1)磁盤存儲基礎ios
l 熟悉RAID存儲方式,能夠根據應用的不一樣,選擇不一樣的RAID方式。web
l 儘量用內存的讀寫代替直接磁盤I/O,使頻繁訪問的文件或數據放入內存中進行操做處理,由於內存讀寫操做比直接磁盤讀寫的效率要高千倍。數據庫
l 將常常進行讀寫的文件與長期不變的文件獨立出來,分別放置到不一樣的磁盤設備上。緩存
l 對於寫操做頻繁的數據,能夠考慮使用裸設備代替文件系統。性能優化
使用裸設備的優勢有:網絡
ü 數據能夠直接讀寫,不須要通過操做系統級的緩存,節省了內存資源,避免了內存資源爭用。併發
ü 避免了文件系統級的維護開銷,好比文件系統須要維護超級塊、I-node等。oracle
ü 避免了操做系統的cache預讀功能,減小了I/O請求。ide
使用裸設備的缺點是:
ü 數據管理、空間管理不靈活,須要很專業的人來操做。
(2)利用iostat評估磁盤性能
[root@webserver ~]# iostat -d 2 3
Linux 2.6.9-42.ELsmp (webserver) 12/01/2008 _i686_ (8 CPU)
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 1.87 2.58 114.12 6479462 286537372
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 0.00 0.00 0.00 0 0
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 1.00 0.00 12.00 0 24
對上面每項的輸出解釋以下:
Blk_read/s表示每秒讀取的數據塊數。
Blk_wrtn/s表示每秒寫入的數據塊數。
Blk_read表示讀取的全部塊數。
Blk_wrtn表示寫入的全部塊數。
Ø 能夠經過Blk_read/s和Blk_wrtn/s的值對磁盤的讀寫性能有一個基本的瞭解,若是Blk_wrtn/s值很大,表示磁盤的寫操做很頻繁,能夠考慮優化磁盤或者優化程序,若是Blk_read/s值很大,表示磁盤直接讀取操做不少,能夠將讀取的數據放入內存中進行操做。
Ø 對於這兩個選項的值沒有一個固定的大小,根據系統應用的不一樣,會有不一樣的值,可是有一個規則仍是能夠遵循的:長期的、超大的數據讀寫,確定是不正常的,這種狀況必定會影響系統性能。
(3)利用sar評估磁盤性能
經過「sar –d」組合,能夠對系統的磁盤IO作一個基本的統計,請看下面的一個輸出:
[root@webserver ~]# sar -d 2 3
Linux 2.6.9-42.ELsmp (webserver) 11/30/2008 _i686_ (8 CPU)
11:09:33 PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
11:09:35 PM dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:09:35 PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
11:09:37 PM dev8-0 1.00 0.00 12.00 12.00 0.00 0.00 0.00 0.00
11:09:37 PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
11:09:39 PM dev8-0 1.99 0.00 47.76 24.00 0.00 0.50 0.25 0.05
Average: DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
Average: dev8-0 1.00 0.00 19.97 20.00 0.00 0.33 0.17 0.02
須要關注的幾個參數含義:
await表示平均每次設備I/O操做的等待時間(以毫秒爲單位)。
svctm表示平均每次設備I/O操做的服務時間(以毫秒爲單位)。
%util表示一秒中有百分之幾的時間用於I/O操做。
對以磁盤IO性能,通常有以下評判標準:
正常狀況下svctm應該是小於await值的,而svctm的大小和磁盤性能有關,CPU、內存的負荷也會對svctm值形成影響,過多的請求也會間接的致使svctm值的增長。
await值的大小通常取決與svctm的值和I/O隊列長度以及I/O請求模式,若是svctm的值與await很接近,表示幾乎沒有I/O等待,磁盤性能很好,若是await的值遠高於svctm的值,則表示I/O隊列等待太長,系統上運行的應用程序將變慢,此時能夠經過更換更快的硬盤來解決問題。
%util項的值也是衡量磁盤I/O的一個重要指標,若是%util接近100%,表示磁盤產生的I/O請求太多,I/O系統已經滿負荷的在工做,該磁盤可能存在瓶頸。長期下去,勢必影響系統的性能,能夠經過優化程序或者經過更換更高、更快的磁盤來解決此問題。
5. 網絡性能評估
(1)經過ping命令檢測網絡的連通性
(2)經過netstat –i組合檢測網絡接口情況
(3)經過netstat –r組合檢測系統的路由表信息
(4)經過sar –n組合顯示系統的網絡運行狀態
5、Oracle在Linux下的性能優化
Oracle數據庫內存參數的優化
Ø 與oracle相關的系統內核參數
Ø SGA、PGA參數設置
Oracle下磁盤存儲性能優化
Ø 文件系統的選擇(ext2/ext3、xfs、ocfs2)
Ø Oracle ASM存儲
1.優化oracle性能參數以前要了解的狀況
1)物理內存有多大
2)操做系統估計要使用多大內存
3)數據庫是使用文件系統仍是裸設備
4)有多少併發鏈接
5)應用是OLTP類型仍是OLAP類型