Na documentação da access_log
diretiva , a documentação nginx diz
O tamanho do buffer não deve exceder o tamanho de uma gravação atômica em um arquivo de disco.
Como posso determinar qual é esse tamanho no meu sistema?
Na documentação da access_log
diretiva , a documentação nginx diz
O tamanho do buffer não deve exceder o tamanho de uma gravação atômica em um arquivo de disco.
Como posso determinar qual é esse tamanho no meu sistema?
Respostas:
Antes tarde do que nunca :)
A resposta rápida é: "2.147.479.552 bytes, se a versão do kernel for 3.14 ou mais recente"
resposta detalhada:
Tanto quanto eu entendo, trata-se de escrever syscall:
http://man7.org/linux/man-pages/man2/write.2.html
1) todos os sistemas POSIX (linux, bsd, todos unix) têm a garantia de poder gravar MAX_SSIZE bytes
2) linux garantido para poder gravar até 1,99 GiB (e é operação atômica para o kernel do linux versão 3.14 e mais recente)
Mas é uma operação atômica justa apenas do kernel 3.14 do linux
fonte
Essa resposta do superusuário tinha uma boa definição do tamanho da gravação atômica.
fonte