Это вопрос о проблемном взаимодействии между Apache и Samba.
Наш Linux-сервер (в частной интрасети) монтирует общий ресурс Windows, который физически находится за тысячи миль, и обслуживает его через Apache. Это позволяет нашим пользователям просматривать файлы в общей папке через HTTP, а не по URL-адресам file: //. Иногда, однако, одно попадание HTTP приводит к тому, что несколько потоков Apache обращаются к одному и тому же файлу SMB одновременно в течение 10 минут или более в состоянии «Отправка ответа» («W»). На странице состояния сервера Apache показано множество идентичных потоков, например следующего, которому 1434 секунды, все с немного разным временем жизни (в столбце «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
Кто-нибудь знает, почему это происходит и как это предотвратить? Есть ли лучший способ достичь нашей цели подключения HTTP к общему ресурсу Windows?
Наша запись в / etc / fstab:
//server//sharename /mnt/foo cifs ro,auto,credentials=/my/file,nosuid,nodev 0 0
Запись httpd.conf:
Alias /share/foo "/mnt/foo"
<Directory "/mnt/foo">
EnableSendfile Off
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Мы также наблюдаем всплески нагрузки на этом сервере, когда средняя нагрузка увеличивается с нормального (1,00) до 20,00 или выше, что может быть связано с этой проблемой.
Большое спасибо.