優化寫磁碟操作

nginx_web發表於2012-06-07

 

 

    我們知道,每次Nginx訪問完一個檔案之後,Linux系統將會對它的“Access”,即訪問時間,進行修改,例如:

 

[root@mail html]# stat  index.html

  File: `index.html'

  Size: 151             Blocks: 8          IO Block: 4096   regular file

Device: fd00h/64768d    Inode: 1212214     Links: 1

Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)

Access: 2011-12-01 20:11:47.000000000 +0800

Modify: 2011-12-01 09:22:47.000000000 +0800

Change: 2011-12-01 09:22:47.000000000 +0800

   

    通過瀏覽器訪問該檔案,然後在看這日期:

 

[root@mail html]# stat  index.html

  File: `index.html'

  Size: 151             Blocks: 8          IO Block: 4096   regular file

Device: fd00h/64768d    Inode: 1212214     Links: 1

Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)

Access: 2011-12-01 20:12:47.000000000 +0800                                         

Modify: 2011-12-01 09:22:47.000000000 +0800

Change: 2011-12-01 09:22:47.000000000 +0800

    

    在一個高併發的訪問中,這對磁碟寫操作是很大的,因此要關閉這個功能。

 

/dev/sdb1         /data        ext3      defaults                  0 0

   

    修改為如下配置:

 

/dev/sdb1         /data        ext3      defaults,noatime,nodiratime  0 0

   

    然後重新啟動系統。

 

     如果不能重啟系統,那麼可以使用remount選項來重新掛載:

 

[root@nas ~]# mount -o defaults,noatime, nodiratime -o remount /dev/sdb1 /sdb

[root@nas sdb]# mount |grep sdb1

/dev/sdb1 on /sdb type ext3 (rw,noatime,nodiratime)

   

    如果是單獨掛載的分割槽或者磁碟(包括RAID),可以直接執行以下命令:

 

[root@nas ~]# mount -o  defaults,noatime,nodiratime  /dev/sdb1 /sdb

[root@nas ~]# mount |grep sdb1

/dev/sdb1 on /sdb type ext3 (rw,noatime,nodiratime)

   

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27043155/viewspace-732154/,如需轉載,請註明出處,否則將追究法律責任。

相關文章