歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

緩存服務器IO方面優化總結

最近沒事總結了一下我們cache服務器的一些日常IO優化手段,也在我們線上實驗了一把, 打算寫個總結 怕以後能用到 (我們的cache設備都是stat的垃圾盤 沒SAS SSD 這樣高級貨 關於這些盤的優化 沒試過)

因為我技術比較菜  很多東西都是 百度+google+一些不明來歷的資料 來湊並且小小總結了一下搞的,可能有些數據資料跟別人網上的一樣(那應該就是我抄的他們的吧)。

我這裡講解的順序是一塊盤(我們線上的cache都是多快盤)從插到電腦上  分區  格式化  掛載 然後跑了一段時間後,後續的一些優化等等。。

1.插盤 (這個應該沒啥優化的) 可能不同廠商bios裡面有些設置可以提升io性能  (我猜的)(我們的機器都是摸不到的 目前我是沒法在這裡開始優化)

2.分區(這塊也應該沒啥優化吧 根據大家需求分區就行吧)

3.格式化(如果是用的ats裸盤 這裡就不用了) 這是我們內部一個通過screen 並發格盤的一個小腳本(腳本內容就不要看了 很菜) 注意 -b  -i 參數就行
-b 是指定塊大小 4096   block-size
-i 是 bytes-per-Linux/1672.html' target='_blank'>inode (能看懂這個單詞吧)

4.掛載吧
還是那句 不要看腳本 看看  -o 後面的掛載參數 下面簡單介紹下(也是也就是man mount的東西)
defaults  這個你懂的  Use default options: rw, suid, dev, exec, auto, nouser, and async.
async  是 異步io(默認的)
noatime         Do  not  update  inode  access times on this file system(這個能看懂吧 )
nodiratime   Do not update directory inode access times on this filesystem(跟上面一樣)
data=writeback   這個得多講下  這是ext3   日志模式下,啟用寫回機制 的一個參數  默認有3種  (大家去看幫助吧) barrier=0  (前面已經采用witeback  得關閉這個 )

ok  格盤 掛載 我們目前就是這樣弄的

5.磁盤調度算法修改
下面改下磁盤的IO調度 算法
cat /sys/block/sda/queue/scheduler (查看 sda盤的算法) 有 noop(fifo), as, cfq 這3種
noop多用於SAN/RAID存儲系統
as多用於大文件順序讀寫
cfq適於桌面應用。
修改為 deadline 調度模式 (IO 有點提升喲)
echo deadline > /sys/block/sda/queue/scheduler
修改完這個後 還需要修改 deadline的一些參數 什麼 write_expire 跟  read_expire
好像網上的建議是 read_expire = 1/2 write_expire
cat  /sys/block/sdb/queue/iosched/read_expire (默認為500)
echo 1000 > /sys/block/sdb/queue/iosched/write_expire (默認為5000)
 
6.關閉ext3 日志記錄功能(來著網上 線上未測試)
tune2fs -O^has_journal /dev/sdb1

7. 磁盤預讀  (線上未測試)
blockdev –setra 256 /dev/sdb   256為sectors

8.修改swappiness  值(默認為60)
減少這個值 可以盡量多使用內存 不使用swap(使用swap了 cache設備性能會下降很多的 你懂的)
關於其他  swap與內存 之間的一些設置  可以去 這裡看看  /proc/sys/vm/ 下面有很多東西 可以改的。
Copyright © Linux教程網 All Rights Reserved