Apache 2.2 на RedHat 6.3. У меня есть виртуальный хост, который настроен так:
<VirtualHost xxx.xxx.xxx.xxx:80>
ServerAdmin some@email.com
DocumentRoot /home/xxxxx/Sites/xxxxxxx.com/htdocs
ServerName xxxxxxx.com
ServerAlias xxxxxxxx.com
SuexecUserGroup xxxx xxxx
suPHP_UserGroup xxxx xxxx
## a cache hit will log -, while a cache miss will log 1.
SetEnv CACHE_MISS 1
LogFormat "%h %l %u %t \"%r\" %>s %b %{CACHE_MISS}e" common-cache
CustomLog /var/log/cache.log common-cache
<IfModule mod_mime_magic.c>
# MIMEMagicFile /usr/share/magic.mime
MIMEMagicFile conf/magic
</IfModule>
<IfModule mod_cache.c>
<IfModule mod_disk_cache.c>
CacheRoot "/var/www/cache"
CacheDefaultExpire 3600
CacheIgnoreCacheControl On
CacheEnable disk /
CacheDirLevels 2
CacheDirLength 1
CacheMaxFileSize 1000000
</IfModule>
</IfModule>
# support perl + cgi
ScriptAlias /cgi-bin/ /home/ls414-100/Sites/xxxx.com/htdocs/cgi-bin/
<Directory /home/xxxx/Sites/xxxxx.com/htdocs/cgi-bin/>
Options ExecCGI -Indexes -MultiViews
AddHandler cgi-script cgi pl
</Directory>
</VirtualHost>
Но он не будет регистрировать попадания в кеш.
[25/Sep/2013:15:24:22 -0400] "GET /icons/stuff5.jpg HTTP/1.1" 304 - 1
Обратите внимание на «1» в конце, это означает, что он не кэшировался.
Любая помощь будет оценена.
У меня очень похожая установка для записи попаданий в кеш в мои журналы. Наиболее вероятные причины, по которым вы перестаете видеть попадания в кеш, исходя из моего опыта:
df -h
или inodes df -ih
в вашей файловой системе кешаЯ предлагаю вам пересмотреть свое решение использовать Apache httpd в качестве кеша; У меня было много проблем с этим в прошлом: странные ошибки, неполные изображения, действительно отстойное оправдание для инструмента обслуживания кеша, который является htcacheclean (вы используете это правильно?), Мое последнее разочарование (которое вызывает повторное -architect) заключается в том, что он не будет кэшировать 206 ответов (MP4, PDF).
Вы можете многое сделать, чтобы уменьшить количество объектов, которые вы запрашиваете у httpd для кеширования; отключение Vary User-Agent - большая победа. Вы также можете переписать заголовки запросов, связанные со сжатием, что помогает значительно сократить количество бесполезных вариантов, которые вы в конечном итоге кэшируете.
Все, что я вижу, это то, что вы заставляете CACHE_MISS иметь значение 1
SetEnv CACHE_MISS 1
Таким образом, в выводе журнала всегда будет 1. Взгляните на код ответа 304. Это означает, что запрошенный файл не изменяется, поэтому он может обслуживаться кешем браузера.