怎么樣巧用tmpfs加速你的linux服務(wù)器
使用tmpfs,我把他消化后用來實現(xiàn)虛擬磁盤來存放squid的緩存文件和php的seesion。速度快不少哦!
默認系統(tǒng)就會加載/dev/shm ,它就是所謂的tmpfs,有人說跟ramdisk(虛擬磁盤),但不一樣。象虛擬磁盤一樣,tmpfs 可以使用您的 RAM,但它也可以使用您的交換分區(qū)來存儲。而且傳統(tǒng)的虛擬磁盤是個塊設(shè)備,并需要一個 mkfs 之類的命令才能真正地使用它,tmpfs 是一個文件系統(tǒng),而不是塊設(shè)備;您只是安裝它,它就可以使用了。
tmpfs有以下優(yōu)勢:
1.動態(tài)文件系統(tǒng)的大小,
2.tmpfs 的另一個主要的好處是它閃電般的速度。因為典型的 tmpfs 文件系統(tǒng)會完全駐留在 RAM 中,讀寫幾乎可以是瞬間的。
3.tmpfs 數(shù)據(jù)在重新啟動之后不會保留,因為虛擬內(nèi)存本質(zhì)上就是易失的。所以有必要做一些腳本做諸如加載,綁定的操作。
好了講了一些大道理,大家看的煩了吧,還是講講我的應(yīng)用吧:)
首先在/dev/stm建個tmp文件夾,然后與實際/tmp綁定
mkdir /dev/shm/tmp
chmod 1777 /dev/shm/tmp
mount --bind /dev/shm/tmp /tmp
1.squid的緩存目錄設(shè)置
vi /etc/squid/squid.conf
修改成
cache_dir ufs /tmp 256 16 256
這里的第一個256表示使用256M內(nèi)存,我覺得高性能LINUX雙效防火墻HOWTO使用ramdisk的方法還不如直接使用tmpfs,至少每次啟動不用mkfs,還可以動態(tài)改變大小。
然后重啟一下服務(wù),ok,現(xiàn)在所有的squid緩存文件都保存倒tmpfs文件系統(tǒng)里了,很快哦。
2.對php性能的優(yōu)化
對于一個訪問量大的以apache+php的網(wǎng)站,可能tmp下的臨時文件都會很多,比如seesion或者一些緩存文件,那么你可以把它保存到tmpfs文件。
保存seesion的方法很簡單了只要修改php.ini就行了,由于我已經(jīng)把/dev/stm/tmp與/tmp綁定,所以不改寫也行,至于php程序產(chǎn)生的緩存文件那只能改自己的php程序了:)
希望我的這個方法,能對你有所啟發(fā)。
() [#page_#][#page_#]
HistoryName webalizer.hist
Incremental yes
HostName www.test.com
PageType htm*PageType cgiPageType phtmlPageType php3PageType plPageType jsp
4、設(shè)定cron任務(wù)
在/etc/crontab文件最后添加如下內(nèi)容:
02 4 * * * root /usr/local/bin/webalizer
即可
5、創(chuàng)建輸出目錄
#mkdir /usr/local/apache/htdocs/usage
第九步:保護訪問統(tǒng)計數(shù)據(jù)不被非法訪問
我們肯定不會希望自己網(wǎng)站訪問統(tǒng)計信息隨意被別人瀏覽,因此需要把usage目錄保護起來,只允許合法用戶訪問。
一、條件
【編輯推薦】
二、需求
需求:限制/usr/local/apache/htdocs/usage/目錄的訪問,只允許用戶"admin"以口令"12345678"訪問此目錄。
三、使用htpasswd建立用戶文件
htpasswd -c /usr/local/apache/.htpasswd admin
此程序會詢問用戶"admin"的口令,你輸入"12345678",兩次生效。
四、建立.htaccess文件
用vi在/usr/local/apache/htdocs/usage/目錄下建立一個文件.htaccess,寫入以下幾行:
AuthName admin-onlyAuthType BasicAuthUserFile /usr/local/apache/.htpasswdrequire user admin
五、測試
這時候通過瀏覽器訪問http://www.test.com/usage就會彈出框請求輸入用戶名和口令,這時候輸入admin、12345678就可以才可以訪問該目錄。