使用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程序了:)