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

Как уменьшить загрузку процессора Samba на сервере CentOS?

Мы запускаем небольшой сервер CentOS в качестве тестовой среды, и сотрудники подключаются к нему через общие ресурсы Samba (из комбинации компьютеров Mac и ПК).

Служба smbd использует 5-10% ЦП на пользователь - что кажется чрезмерным. Тем более что сервер новый четырехъядерный.

Пользователи Mac, похоже, вызывают более высокую загрузку процессора (ближе к 10%) и больше проблем со скоростью соединения.

Есть ли какие-либо изменения в настройках или конфигурации, которые можно сделать, чтобы снизить нагрузку на ЦП (и, надеюсь, ускорить соединение для Mac)?

Содержимое /etc/samba/smb.conf

# Global Parameters
[global]
        workgroup = Foo
        netbios name = Bar
;       encrypt passwords = yes
        username map = /etc/samba/smbusers
        socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536

[websites]
        path = /var/www/sites
;       browseable = yes
        write list = foobar, barfoo
;       writeable = no
        valid users = foobar, barfoo

вы проверили wait время? что значит iostat сказать? Если у вас есть узкое место в хранилище, это иногда проявляется в высокой загрузке ЦП.

У меня есть загруженный файловый сервер с Samba для 30-50 одновременных клиентов Mac (все с Gigabit Ethernet, работающие с огромными файлами Photoshop) на скромном двухъядерном процессоре. Самым большим фактором была оперативная память (для кеша). Каждый раз, когда количество или рабочая нагрузка пользователей увеличивалась, я добавлял немного дополнительной оперативной памяти, а использование ЦП, как сообщалось в большинстве инструментов, резко снижалось, а скорость отклика оставалась высокой.

Если есть другой контроллер домена, добавьте / отредактируйте следующие параметры в /etc/smb.conf:

domain master = no
local master = no
preferred master = no
os level = 0

чтобы Samba никогда не становился основным браузером. Перезапустите Samba и посмотрите, поможет ли это.