首页 » VPS 知识 » 浏览内容

巧用Tmpfs加速你的Linux系统服务器


2012-11-24 23:15:30 1,725 0 发表评论 字体: 作者:C.K.

体验版 88 元,个人版 128 元,多用户版 288元个人版160元升级到多用户版。

默认系统就会加载/dev/shm ,它就是所谓的tmpfs,有人说跟ramdisk(虚拟磁盘),但不一样。象虚拟磁盘一样,tmpfs 可以使用您的 RAM,但它也可以使用您的交换分区来存储。而且传统的虚拟磁盘是个块设备,并需要一个 mkfs 之类的命令才能真正地使用它,tmpfs 是一个文件系统,而不是块设备;您只是安装它,它就可以使用了。

tmpfs有以下优势:

1、动态文件系统的大小

2、tmpfs 的另一个主要的好处是它闪电般的速度。因为典型的 tmpfs 文件系统会完全驻留在 RAM 中,读写几乎可以是瞬间的。

3、tmpfs 数据在重新启动之后不会保留,因为虚拟内存本质上就是易失的。所以有必要做一些脚本做诸如加载,绑定的操作。

好了讲了一些大道理,大家看的烦了吧,还是讲讲我的应用吧:)

首先在/dev/shm建个tmp文件夹,然后与实际/tmp绑定

/dev/shm 与 /tmp的绑定在重新启动服务器以后就会消失,这是由于tmpfs文件系统的特性,您还要把

mkdir /dev/shm/tmp
  • chmod 1777 /dev/shm/tmp
  • mount --bind /dev/shm/tmp /tmp
  • 添加到 /etc/rc.local 中使每次开机都即时生效,不用去一次次创建和绑定。

    mount –bind是什么意思?

    mount –bind 是将一个目录中的内容挂载到另一个目录上,用法是

    # mount –bind olddir newdir

    这个命令使得自己搭建的FTP要共享某个目录的时候变得特别方便。如果要取消mount用命令:

    # umount olddir 即可。

    1、squid的缓存目录设置

    vi /etc/squid/squid.conf

    修改成

    cache_dir ufs /tmp 256 16 256

    这里的第一个256表示使用256M内存,我觉得高性能LINUX双效防火墙HOWTO使用ramdisk的方法还不如直接使用tmpfs,至少每次启动不用mkfs,还可以动态改变大小。

    然后重启一下服务,ok,现在所有的squid缓存文件都保存倒tmpfs文件系统里了,很快哦。

    2、对php性能的优化

    对于一个访问量大的以apache+php的网站,可能tmp下的临时文件都会很多,比如seesion或者一些缓存文件,那么你可以把它保存到tmpfs文件。

    保存seesion的方法很简单了只要修改php.ini就行了,由于我已经把/dev/shm/tmp与/tmp绑定,所以不改写也行,至于php程序产生的缓存文件那只能改自己的php程序了:)

    —————————————————  亲,这是分割线  —————————————————

    debian下设置

    /tmp 使用 tmpfs

    一般而言,若將記憶體模擬成磁碟並拿來做為 /tmp 的話將會有效加快一些應用程式的執行速度。而相同的,有些暫放在 /tmp 下的資料如果在關機後被人拿去解讀的話也會產生安全上的問題。所以若能將 /tmp 放在記憶體裡,不但能增進系統的速度,在關機後 /tmp 裡的資料也將跟著消失,這將是一舉兩得的做法。

    在 Debian GNU/Linux 裡,預設上就會把記憶體拿來模擬成磁碟了,也就是您在 df 指令裡所看到的 /dev/shm。由於系統記憶體十分寶貴,所以 /dev/shm 會動態調整其大小,但您還是可以修改 /etc/default/tmpfs 來指定其限額,例:

    # SHM_SIZE sets the maximum size (in bytes) that the /dev/shm tmpfs can use.
  • # If this is not set then the size defaults to the value of TMPFS_SIZE
  • # if that is set; otherwise to the kernel’s default.
  • #
  • # The size will be rounded down to a multiple of the page size, 4096 bytes.
  • SHM_SIZE=200m
  • 然後請再修改 /etc/fstab 讓 /tmp 在開機時能掛在 /dev/shm 上,例:

    # <file system> <mount point> <type> <options> <dump> <pass>
  • tmpfs /tmp tmpfs size=100m,mode=1777 0 0
  • 設定完成後,重新開機您就會發現 /tmp 己經掛在 tmpfs 上了:

    ~# df

    檔案系統 1K-區段 已用 可用 已用% 掛載點

    tmpfs 102400 0 102400 0% /tmp

      网站统计 Statistics

      • 创建时间: 2005年1月3日 距今4941 天
      • 日志总数: 2461
      • 评论总数: 630
      • 标签总数: 654
      • 链接总数: 273
      • 最后更新: 2017-7-1 18:16:33
      • 您是本站第 13702684 位访客

      广告区 Guǎng Gào