歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 緩存服務器IO方面優化總結

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

日期:2017/2/27 15:57:27   编辑:Linux教程
最近沒事總結了一下我們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