Nginx open_file_cache

2

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?

    
por airstrip one prole 27.03.2013 / 18:05

1 resposta

1

Este não é o conteúdo do arquivo de cache nginx, este é o seu sistema de arquivos (Unix?) mudando o inode quando você atualiza o arquivo.

Como as informações do descritor de arquivo são armazenadas em cache no nginx, a atualização do inode não é propagada para ele, continuando assim a leitura do inode antigo.

Na invalidação de cache ( open_file_cache ' inactive parameter) ou revalidation ( open_file_cache_valid ), as informações do descritor de arquivo são removidas, respectivamente (estarão atualizadas na próxima abertura) ou serão atualizadas.

Este comportamento é específico para cada sistema de arquivos, por isso usando o cache do descritor de arquivos no NFS, por um lado, é desaconselhado .

    
por 07.04.2016 / 20:47

Tags