Назад | Перейти на главную страницу

Apache, обслуживающий общий ресурс Samba, приводит к снижению производительности?

Это вопрос о проблемном взаимодействии между 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 или выше, что может быть связано с этой проблемой.

Большое спасибо.