iT邦幫忙

DAY 17
2

回應鐵人賽的文章變鐵人系列 第 17

[Reply] 建立虛擬磁碟 RAM disk 來增進網站的效能

持續關注 chiounan 的 檔案系統的設計與效能 的系列文章,
來看看這 RAM disk 也是檔案系統上的實例應用,
如何來增加網站的效能。
介紹
現在記憶體不像以前那麼貴,
所以任何人都可以負擔購買比自己實際需要量更多的記憶體。
如果你有比系統所需更多的的記憶體,
就可以好好利用一下。

大家都知道RAM比硬碟快,
為何不利用RAM來進行需要大量磁碟I/O的工作。

來看一些例子:
.Drupal或WordPress會存一些檔案在 /cache 來加速。
.像.css .js .ico 及其他檔案是網站常被存取。
.如果你整個網站是較小規模且是靜態網頁。

如果你網站中的某網頁忽然變得非常熱門,
用這種RAM disk的方式,
該熱門網頁就可很快速地被存取;
如果不這樣做的話,
就算是有很大的頻寬,
甚至是用Nginx來做網站的服務器,
你仍會碰到網頁載入慢的問題,
是因為卡在磁碟I/O上的問題。

建立虛擬磁碟
系統可能已經內建有/dev/shm的虛擬磁碟,
最好是自建一個,
來為專門的目的使用。

建個目錄來掛上磁擬磁碟:

sudo mkdir -p /var/www/mysite/cache
sudo mount -t tmpfs -o size=700M,mode=0744 tmpfs /var/www/mysite/cache

這樣就可讓Drupal加速,
或給其他的網頁應用程式使用。

如此可讓Drupal存其cache檔在該位置,
如果檔案沒找到,就會再產生出來。

當然,也可以規劃把所有網站複製在該處,
但確認不需編輯修改該處的檔案,
因為重開機後,該處所有的檔案都會不見。

你也可以利用cron來定時把實際的檔案寫入到該位置,
或者把這個動作寫到 /etc/rc.local 的檔案中,
這樣一開機檔案就可寫到該位置。

用途有很多,這只是其中的一種用法。

另外要注意的是,
確認不要用太多的記憶體,
不然會有其他的問題;
大概用RAM的20~30%
來做此用途是合適的。

本文簡譯自:Create a RAM disk to improve performance of webserver

系列文章


上一篇
[Reply] 如何從命令列透過mutt及gmail寄信
下一篇
[Reply] 利用Python快速分享Linux中的檔案
系列文
回應鐵人賽的文章變鐵人30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言