Eu notei um problema interessante com o open_file_cache. Basicamente, eu tenho um script perl que atualiza uma página. Eu notei que com open_file_cache nesta página permanecerá o mesmo pela duração de, o que eu assumo ser, a configuração open_file_cache_valid. Isso parece que não deveria estar acontecendo desde que a documentação do Nginx declara que o cache armazena apenas esta informação:
link
Abrir descritores de arquivos, informações com seu tamanho e hora de modificação;
Informações sobre a existência de diretórios;
Informações de erro quando pesquisas por um arquivo - nenhum arquivo, não tem direitos de leitura, etc. Veja também open_file_cache_errors
Parece que toda a página está sendo armazenada em cache, além do tempo de modificação, etc.
Veja os detalhes do que estou vendo com as seguintes configurações:
open_file_cache max = 1000 inativo = 60s;
open_file_cache_valid 60s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
Eu corro o script perl para atualizar a página e vejo o arquivo com ls:
ls -lh index.html
-rw-r - r-- 1 apache apache 81K 27 de março 12:32 index.html
No entanto, o Nginx não atualiza a página e permanece o mesmo por 60 segundos:
Last-Modified: quarta-feira, 27 de março de 2013 16:19:46 GMT
Após um minuto eu atualizo e finalmente muda. Este arquivo não tem outras configurações de cache, então o arquivo open_file_cache é literalmente armazenado em cache? Posso reduzir o open_file_cache_valid ou isso acaba com o propósito?