Почему установленный CIFS общий ресурс быстрее, чем SMB?

Начнем с того, что этот вопрос на самом деле не является проблемой, у меня есть, а скорее «почему это так» . Я пытаюсь вернуться в Linux после нескольких лет в мире Windows, но я потерял так много ... Так что здесь для изучения заново. :)

У меня есть компьютер под управлением Windows 10 x64, выполняющий роль файлового сервера в моей сети. Я получаю доступ к акциям от Ubuntu Mate 16.04. Основной файловый браузер - Caja.

Вот хорошая часть: Когда я просматриваю сетевые ресурсы в моей сети и начинаю копировать файл, максимальная скорость составляет около 600 Мбит. Но когда я монтирую ресурс постоянно в Fstab с CIFS (согласно https://help.ubuntu.com/community/MountWindowsSharesPermanently ), я могу использовать свою полную скорость соединения (1 Гбит). Я также могу использовать полную скорость соединения при использовании smbclient через терминал.

Может кто-нибудь объяснить мне, почему это происходит с Кахей (и Наутилусом из того, что я могу рассказать), и, возможно, дать мне несколько ссылок, где я могу прочитать больше об этом? Разве CIFS и SMB не одно и то же?

Спасибо!

Обновление: Я использую сетевую карту Intel I217-V (версия 04).

6
задан 17 May 2016 в 17:27

1 ответ

SMB является блоком серверных сообщений, который был изобретен IBM для записи файлов через локальную сеть. CIFS является Общая межсетевая файловая система. CIFS является конкретной реализацией SMB, сделанного Microsoft.

1.) Реализация CIFS SMB редко используется эти дни. Большинство современных систем хранения больше не использует CIFS, они используют SMB 2 или SMB 3. В мире Windows SMB 2 был стандартом с Windows Vista (2006), и SMB 3 является частью Windows 8 и Windows Server 2012.

2.) SMB 2 и SMB 3 являются крупными обновлениями по реализации CIFS.

Теперь что-то для учета (размер окна TCP * 8 битов / RTT в миллисекундах) = Max пропускная способность TCP в бит/с. В то время как у Вас могла бы быть сеть Gigabit, единственный поток TCP, вероятно, не сможет получить тот высоко.

Теперь для оптимизации конфигурации SMB:

[global]

СМ.: https://bugs.debian.org/cgi-bin/bugreport.cgi? bug=798532

strict allocate = Yes

ВИДИТ: https://lists.samba.org/archive/samba-technical/2014-July/101304.html

allocation roundup size = 4096

Позволяет reado 65 535 байтов в одном пакете

сырые данные чтения = Да

, подписание Сервера замедляет вещи.

server signing = No

запись СЫРЫХ ДАННЫХ Поддержки.

write raw = Yes

"строгая блокировка = автоматическая" ИЛИ "строгая блокировка = не" является acceptible.

strict locking = No

опции сокета = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=131072 SO_SNDBUF=131072

"минута receivefile размер" будет передан непосредственно ядру, recvfile/splice СИСТЕМНЫЙ ВЫЗОВ.

min receivefile size = 16384

Использование более эффективный sendfile () системный вызов

use sendfile = Yes

Samba, заплесневелый быть созданным с Асинхронным файлом, поддерживает поддержку ввода-вывода

aio read size = 16384
aio write size = 16384

Также в моем случае, я должен был изменить порядок поисков имени в nsswitch.conf. Оказывается, что эта конфигурация содержала строку как это.

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4 

Просто добавление "победы" к строке хостов решили проблему.

hosts:          files wins mdns4_minimal [NOTFOUND=return] dns mdns4
0
ответ дан 17 April 2019 в 03:35

Другие вопросы по тегам:

Похожие вопросы: