最重要的事…

.2009 年開始,移居 http://nicaliu.info/

運用 kernel 裡的 sendfile (功能)支援,傳送檔案予客戶端。

預設值為 On,可用於 server config, virtual host, directory, .htaccess。





當 Apache 處理的 request 無須存取檔案裡的資料時 - 例如靜態式檔案,就會使用 sendfile 傳送檔案內容,無須作讀檔的動作。不過前提必須是作業系統支援 sendfile (功能)。



sendfile 機制可避免將讀取與傳送操作分開,亦可緩衝配置。但在下列平台或檔案系統不適合這麼作:

.有些平台的 sendfile 支援是有問題的,它可能是在 A 主機上編譯建立二進制檔,然後放在 B 主機上跑,而 B 主機提供的 sendfile 支援可能有問題。

.特定網路卡使用 IPv6 時,在 Linux 下使用 sendfile 觸發 TCP-checksum offloading bug。

.itanium 機器上的 Linux,sendfile 可能無法處理超過 2GB 的檔。

.DocumentRoot 的目錄是網路掛載的情況下, kernel 可能無法透過自有 cache 對網路檔案提供服務。



若你的系統有上述特定,就應該設定為 EnableSendfile Off,或針對 NFS 或 SMB 掛載的檔案指定之:

<Directory "/path-to-nfs-files">

EnableSendfile Off

</Directory>



詳見:http://httpd.apache.org/docs/2.2/mod/core.html#enablesendfile
創作者介紹
創作者 nicaliu 的頭像
nicaliu

尼卡.Nica

nicaliu 發表在 痞客邦 留言(4) 人氣()


留言列表 (4)

發表留言
  • 五香乖乖
  • 齁...火氣很大耶....
    好好好.....如擬
  • 喵
  • pass
  • nicaliu
  • 掯,妳的 blog 我就不能閱
    妳就能閱我…

    馬的,這 blog 胳臂向外彎,反了! 反了!
  • 五香乖乖
  • 閱。