apache的缓存mod_cache设置

修改httpd.conf这个文件


#一个连接的最大请求数量
MaxKeepAliveRequests 10000
#NT环境,只能配置这个参数来提供性能
<IfModule mpm_winnt.c>
#每个进程的线程数,最大1920。NT只启动父子两个进程,不能设置启动多个进程
ThreadsPerChild 1900
每个子进程能够处理的最大请求数
MaxRequestsPerChild  10000
</IfModule>


 


LoadModule cache_module modules/mod_cache.so
LoadModule disk_cache_module modules/mod_disk_cache.so
LoadModule mem_cache_module modules/mod_mem_cache.so
<IfModule mod_cache.c>
  CacheForceCompletion 100
  CacheDefaultExpire 3600
  CacheMaxExpire 86400
  CacheLastModifiedFactor 0.1
 
  <IfModule mod_disk_cache.c>
    CacheEnable disk C:/server/httpcache/diskcache
    CacheRoot c:/server/httpcache/cacheroot
    CacheSize 647680
    CacheDirLength 4
    CacheDirLevels 5
    CacheGcInterval 4
  </IfModule>
  <IfModule mod_mem_cache.c>
    CacheEnable mem C:/server/httpcache/memcache
    MCacheSize 8192
    MCacheMaxObjectCount 10000
    MCacheMinObjectSize 1
    MCacheMaxObjectSize 51200
  </IfModule>
</IfModule>


 



####################################################
參考資料
mod_cache:


CacheEnable: 啟動 mod_cache,其後接兩個參數。第一個參數指定快取的種類,


應設為 mem (記憶體快取) 或 disk (磁碟快取) 之其一;第二個參數指定使用快


取的 URI 路徑,如果對整個網站 (或虛擬主機) 進行快取,簡單指定為根目錄


(/) 即可。


CacheForceCompletion: 這個值指定當 HTTP request 被取消時,內容的產生動


作要完成的百分比;預設是 60(%)。


CacheDefaultExpire: 指定快取的預設過期秒數;預設值是一小時 (3600)。


CacheMaxExpire: 指定快取最大的過期秒數;預設值是一天 (86400)。


CacheLastModifiedFactor: 用來從回應裡 Last Modified 資訊算出 expire


date。計算方式是:


expire period (過期時距) = 最後更新後至今的時間間距 *


CacheLastModifiedFactor



expire date = 目前時間 + expire period


不過無論如何,過期時間不能超過 CacheMaxExpire 的設定值。


mod_disk_cache:


CacheRoot: 指定磁碟快取所使用的目錄。
CacheSize: 以 KByte 為單位指定快取使用的磁碟空間大小。
CacheDirLength: 指定各目錄 (的鍵值) 存在於快取階層 (hierarchy) 中所使用


的字元數。
CacheDirLevels: 指定快取的目錄層數; CacheDirLength 與此 CacheDirLevels


設定值相乘不能超過 20。
CacheGcInterval: 指定收垃圾 (Garbage Collection) 的動作間隔時間;單位是


小時。不過根據 Apache2 文件,這個指令還 沒有被實作 。
mod_mem_cache:


MCacheSize: 以 KByte 為單位指定快取使用的記憶體空間大小。
MCacheMaxObjectCount: 指定快取物件數目的最大值;預設值是 1009。
MCacheMaxObjectSize: 指定最大可快取物件的大小,單位是 Byte;預設值是


10000 (Bytes)。
MCacheMinObjectSize: 指定最小可快取物件的大小,單位是 Byte;預設值是 0


(Bytes)。