apache图片cache容量_apache利用mod_cache缓存图片等
一,引言
以前我寫過二篇有關圖片,靜態文件的緩存文章,一個是用varnish來緩存,一個用squid來緩存,apache當然也可以用來做圖片,靜態文件的緩存,下面我將詳細說明一下,怎么完裝和配置
二,安裝mod_cache,mod_mem_cache,mod_disk_cache
先查一下,安裝apache的時候,有沒有安裝這些模塊,如果沒有安裝就安裝一下,請參考apache怎么安裝模塊,查看是否安裝
[zhangy@BlackGhost error]$ /usr/local/apache2/bin/httpd -l
如果沒有mod_cache.c,mod_mem_cache.c,mod_disk_cache.c說明沒有裝mod_mem_cache,mod_disk_cache不一定要都裝,你可以二選一
三,內存緩存配置
nano /usr/local/apache2/conf/httpd.conf
LoadModule cache_module modules/mod_cache.so
LoadModule mem_cache_module modules/mod_mem_cache.so
CacheEnable mem /images
MCacheSize 4096
MCacheRemovalAlgorithm LRU
MCacheMaxObjectCount 100
MCacheMinObjectSize 1
MCacheMaxObjectSize 2048
CacheMaxExpire 864000
CacheDefaultExpire 86400
CacheDisable /php
說明:
1,CacheEnable mem /images 緩存images下面的內容,這里的 mem只是一個緩存類型,指示mod_cache使用內存的存儲管理器通過實施mod_mem_cache 。緩存類型disk指示mod_cache使用基于磁盤的存儲管理的實施mod_disk_cache 。緩存類型,fd指示mod_cache使用文件描述符緩存實施mod_mem_cache
2,MCacheSize最大內存使用量,插入在緩存和對象大小的對象是大于剩余內存,將被刪除,直到新的對象可以被緩存。 被刪除的對象選擇使用指定的算法MCacheRemovalAlgorithm
3,MCacheRemovalAlgorithm緩存算法:
LRU (最近最少使用)
LRU刪除文件,沒有時間最長的被訪問的。
GDSF(GreadyDual尺寸)
GDSF分配一個優先的文件緩存文件的費用的基礎上,緩存大小和懷念。以最低的優先權文件被刪除第一次。
4,MCacheMaxObjectCount最大緩存對像個數
5,MCacheMaxObjectCount最大緩存對像字節數
6,MCacheMinObjectSize最小緩存對像字節數
7,CacheMaxExpire 最大緩存結止時間
8,CacheDefaultExpire ?默認緩存結止時間
9,CacheDisable /php ? ? ? 不緩存php下面的內容
查看內存是不是緩存了東西
apache查看有沒有在內存中緩存東西,不是很好查,沒有專門的工具來查看,我的方法如下,
1,瀏覽圖片http://localhost/images/http_imgload.cgi.jpeg
2,查看一下[zhangy@BlackGhost error]$ top -b -n1
3,瀏覽圖片http://localhost/images/myself.jpeg
4,查看一下[zhangy@BlackGhost error]$ top -b -n1
6018 zhangy??? 20?? 0 52612 8172 2484 S??? 0? 0.8?? 0:00.03 httpd
6020 zhangy??? 20?? 0 52604 8168 2488 S??? 0? 0.8?? 0:00.02 httpd
6021 zhangy??? 20?? 0 52604 8100 2440 S??? 0? 0.8?? 0:00.00 httpd
6022 zhangy??? 20?? 0 52604 8100 2440 S??? 0? 0.8?? 0:00.00 httpd
6033 zhangy??? 20?? 0? 6584 1808 1396 S??? 0? 0.2?? 0:00.02 bash
6076 zhangy??? 20?? 0 52612 8136 2464 S??? 0? 0.8?? 0:00.02 httpd
6077 zhangy??? 20?? 0 52612 8124 2448 S??? 0? 0.8?? 0:00.05 httpd
6078 zhangy??? 20?? 0 52612 8168 2488 S??? 0? 0.8?? 0:00.12 httpd
6079 zhangy??? 20?? 0 52612 8168 2488 S??? 0? 0.8?? 0:00.03 httpd
6080 zhangy??? 20?? 0 52612 8168 2488 S??? 0? 0.8?? 0:00.06 httpd
6081 zhangy??? 20?? 0 52612 8116 2448 S??? 0? 0.8?? 0:00.00 httpd
通過上面的4步操作,你可以發現上面加粗部分的RES是不斷增加的,由起可見,配置已經成功。
四,硬盤緩存配置
nano /usr/local/apache2/conf/httpd.conf
LoadModule cache_module modules/mod_cache.so
LoadModule disk_cache_module modules/mod_disk_cache.so
CacheRoot /home/zhangy/cachetest
#CacheSize 256
CacheEnable disk /
CacheDirLevels 4
#CacheMaxFileSize 64000
#CacheMinFileSize 1
#CacheGcDaily 23:59
CacheDirLength 3
說明:
1,cacheroot /home/zhangy/cachetest? 緩存存放的目錄
2,#CacheSize 256???????? 緩存空間大小單位KB
3,CacheEnable disk /??? 設置緩存方式
4,#CacheMaxFileSize 64000??? 最大緩存文件大小
5,#CacheMinFileSize 1????? 最小緩存文件大小
6,#CacheGcDaily 23:59???? 緩存清理時間
7,CacheDirLength 3??????? 緩存文件夾名子字符長度
8,CacheDirLevels 4??????? 緩存目錄,子目錄層次
注釋掉的部分,我的apache版本不支持。官方手冊上面有。具體需求請參考官方網站
查看緩存:
1,查看cacheroot有沒有東西
apache cache
如果CacheRoot下面有東西,說明已經OK了。
2,用htcacheclean來查看
[root@BlackGhost cache]# /usr/sbin/htcacheclean -v -p /home/zhangy/cachetest -l 1024M
Statistics:
size limit 1024.0M
total size was 29.2K, total size now 29.2K
total entries was 3, total entries now 3
htcacheclean? 部分參數說明下
-d? 每隔多長時間清一個緩存
-D 模擬清除緩存,但不是真的清
-v 顯示統計信息
-r 徹底清除
-t 清除空目錄
-p 緩存目錄
-l 限定緩存大小
總結
以上是生活随笔為你收集整理的apache图片cache容量_apache利用mod_cache缓存图片等的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: a4988 脉宽要求_Allegro M
- 下一篇: 如何判断个股是诱多?