Esta é uma pergunta sobre uma interação problemática entre o Apache e o Samba.
Nosso servidor Linux (em uma intranet privada) monta um compartilhamento do Windows, que está fisicamente a milhares de quilômetros de distância, e o serve via Apache. Isso permite que nossos usuários visualizem arquivos no compartilhamento via HTTP em vez de por URLs file: //. Às vezes, no entanto, um único hit HTTP produz vários segmentos do Apache acessando o mesmo arquivo SMB simultaneamente por 10 minutos ou mais no estado "Enviando Resposta" ("W"). A página de status do servidor do Apache mostra muitos tópicos idênticos, como o seguinte, que tem 1434 segundos, todos com tempos de vida ligeiramente diferentes (na coluna "SS"):
Srv PID Acc M CPU SS Req Conn Child Slot Client VHost Request
33-1 28411 0/146/27463 W 9.20 1434 0 0.0 0.56 689.97 192.168.0.25 someserver GET /share/foo/myfile.xlsx HTTP/1.1
Alguém sabe por que isso acontece e como podemos evitá-lo? Existe uma maneira melhor de alcançar nosso objetivo de conexões HTTP para um compartilhamento do Windows?
Nossa entrada no / etc / fstab é:
//server//sharename /mnt/foo cifs ro,auto,credentials=/my/file,nosuid,nodev 0 0
A entrada httpd.conf é:
Alias /share/foo "/mnt/foo"
<Directory "/mnt/foo">
EnableSendfile Off
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Também estamos vendo picos de carga nesse servidor, em que a média de carga salta de normal (1,00) para 20,00 ou superior, o que pode ser atribuído a esse problema.
Muito obrigado.