Linux 加速(拿 RAM 當硬碟)

參考 幫Linux掛Turbo加速
RamDisk for BSD
最主要是 巧用TMPFS加速Linux伺服器 這篇讓我最感興趣 🙂
典型的 tmpfs 文件系統會完全駐留在 RAM 中.
sudo mkdir /dev/shm/tmp
sudo chmod 1777 /dev/shm/tmp
sudo mkdir /ram
sudo mount --bind /dev/shm/tmp /ram
以後開機記得執行最後那 mount --bind /dev/shm/tmp /ram 就可以了.


以下轉載自 幫Linux掛Turbo加速
I. 使用hdparm開啟DMA
加安裝完hdparm後輸入以下設定開啟DMA
hdparm -d1 -X69 -c3 -m16 /dev/hda
在這-X69是開啟UltraDMA mode5,64~69依序是mode0~mode5
II. 進入X前將XF86Config-4中的font關掉一些
我只留下以下內容
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/CID"
FontPath "/usr/lib/X11/fonts/misc"
FontPath "/usr/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/lib/X11/fonts/Type1"
III. 使用tmpfs加速
詳細懶的再打,請參考 巧用TMPFS加速Linux伺服器
以下轉載自: 巧用TMPFS加速Linux伺服器
作者:張微波 發文時間:2004.05.18
今天學了一招,就是使用tmpfs,我把他消化後用來實現虛擬磁片來存放Squid的緩存文件和PHP的Seesion。速度快不少哦!
默認系統就會載入/dev/shm ,它就是所謂的tmpfs,有人說跟Ramdisk(虛擬磁片),但不一樣。象虛擬磁片一樣,tmpfs可以使用您的 RAM,但它也可以使用您的交換分區來存儲。而且傳統的虛擬磁片是個塊設備,並需要一個 mkfs 之類的命令才能真正地使用它,tmpfs 是一個文件系統,而不是塊設備;您只是安裝它,它就可以使用了。

tmpfs有以下優勢:
1. 動態文件系統的大小
2. tmpfs 的另一個主要的好處是它閃電般的速度。因為典型的 tmpfs 文件系統會完全駐留在 RAM 中,讀寫幾乎可以是瞬間的。
3. tmpfs 數據在重新啟動之後不會保留,因為虛擬記憶體本質上就是易失的。所以有必要做一些腳本做諸如載入,綁定的操作。

好了講了一些大道理,大家看的煩了吧,還是講講我的應用吧:)

首先在/dev/stm建個tmp文件夾,然後與實際/tmp綁定
mkdir /dev/shm/tmp
chmod 1777 /dev/shm/tmp
mount --bind /dev/shm/tmp /tmp
squid的緩存目錄設置
vi /etc/squid/squid.conf
修改成
cache_dir ufs /tmp 256 16 256

這裡的第一個256表示使用256M記憶體,我覺得高性能LINUX雙效防火牆HOWTO使用Ramdisk的方法還不如直接使用tmpfs,至少每次啟動不用mkfs,還可以動態改變大小。
然後重啟一下服務,ok,現在所有的Squid緩存文件都保存倒tmpfs文件系統裏了,很快哦。
對php性能的優化
對於一個訪問量大的以apache+php的網站,可能tmp下的臨時文件都會很多,比如Seesion或者一些緩存文件,那麼你可以把它保存到tmpfs文件。
保存Seesion的方法很簡單了只要修改php.ini就行了,由於我已經把/dev/stm/tmp與/tmp綁定,所以不改寫也行,至於PHP程式產生的緩存文件那只能改自己的PHP程式了:)
以下轉載自 RamDisk for BSD
昨天發現在Linux上可使用tmpfs來掛turbo,那BSD呢?我的Server是使用FreeBSD,照理來說RamDisk對於improve server performance比較有效果,因此今早search相關Ramdisk for BSD,找到BSD也support這樣的東東可幫BSD掛turbo^^。
首先要先將kernel中的memory disk功能打開
device md # Memory "disks"
再來將修改/etc/fstab加入下面這行來產生128M的/tmp
md /tmp mfs rw,-s128m 0 0
重開機後就完成了,記得如果有run server的要將tmp的link指到/tmp喔(default是都指到/tmp,但慎重起見還是自行檢查吧!),以下是我用df -h出現的md device
/dev/md0 126M 5.9M 110M 5% /tmp
*由於我的FreeBSD是5.x版本,似乎只能使用以上方式加入mfs,如有興趣可參考以下的link
I. ONLamp.com: BSD Tricks: MFS
II. BSDForum.org: Ramdisk?
III. unable to mount swap backed device
參考文件: 在Linux下使用RamDisk


關於 Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
本篇發表於 OS-Linux_BSD。將永久鏈結加入書籤。

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料