Вопрос: Как передача файлов может быть медленной и нормальной одновременно?
Передача инициирована с: компьютера Windows 7 на компьютере VLAN
Источник: общий ресурс NSD (samba от IBM GPFS) на сервере VLAN
Назначение: компьютер с Windows 7 на компьютере VLAN (тот, который использовался для инициализации)
Исследование: предположим, что это может быть связано с уровнем хоста модели OSI.
Для многих клиентов я Linux Sys Admin. Я использую удаленный вход, и у меня нет возможности все протестировать.
Один клиент ведет себя странно: из Windows 7 при открытии explorer.exe и передаче один файл 1 ГБ (zip, iso, данные, созданные с помощью команды dd и т. д.) из общего ресурса LAN (см. конфигурацию ниже) с использованием пути UNC, вы можете иметь 2 разных поведения в зависимости от файла.
А) У вас может быть низкая скорость передачи, 7-10 Мбит / с
Б) У вас может быть нормальная скорость передачи, 50-70 Мбит / с
Эта скорость передачи постоянна для типа файла. Это означает, что если вы попробуете из другого времени в другие дни и часы, вы получите тот же результат. Каждый раз zip-файл или файл iso имеют нормальную скорость передачи. Когда файл данных, поддельный файл, созданный dd, имеет низкую скорость передачи.
С другого компьютера с такой же или другой версией Windows (например, сервер Windows 2012) тот же результат.
Если вы попробуете с другой учетной записью, результат будет тот же.
Если вы смонтируете путь UNC, результат будет тот же.
С активированным антивирусом или нет
Я сделал тесты и наблюдаю это:
Передача из другого Linux в другую VLAN: скорость передачи 42 Мб / с для обоих типов файлов
Передача с помощью winscp с компьютера Windows в другую VLAN: скорость передачи 26 Мбит / с для обоих типов файлов
Передача с помощью cygwin с компьютера Windows в другую VLAN с использованием SCP (ssh): скорость передачи 47-53 Мб / с для обоих типов файлов
Передача с помощью cygwin с компьютера Windows в другую VLAN с использованием точки монтирования: скорость передачи 7-10 Мбит / с для A и 55 Мбит / с для B
Поскольку клиент использует wirehark и говорит мне, что он наблюдает это: Wireshark показывает, что медленная передача A выполняется по протоколу SMB2, а нормальная передача B выполняется по протоколу NetBios / NBSS
И поскольку мои тесты показывают SCP (SSH), скорость передачи нормальная (одинаковая для всех типов файлов), я ориентировал свой поиск на основные протоколы модели OSI.
Но я ничего не знаю о сетях / протоколах.
Может кто-нибудь знающий помочь мне, пожалуйста?
Общий ресурс: это IBM Spectrum Scale (новое имя GPFS), совместно используемое сервером NSD с включенными NFS и SMB на определенном сервере VLAN.
[root@nsd ~]# mmces service list
Enabled services: NFS SMB
NFS is running, SMB is running
# smbstatus -V
Samba version 4.6.16-gpfs-56
# testparm
Load smb config files from /var/mmfs/ces/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Registered MSG_REQ_POOL_USAGE
Registered MSG_REQ_DMALLOC_MARK and LOG_CHANGED
Registered MSG_REQ_POOL_USAGE
Registered MSG_REQ_DMALLOC_MARK and LOG_CHANGED
Can't find include file /var/mmfs/ces/smb.conf.0.0.0.0
Can't find include file /var/mmfs/ces/smb.conf.internal.0.0.0.0
Processing section "[home]"
Loaded services file OK.
Server role: ROLE_DOMAIN_MEMBER
Press enter to see a dump of your service definitions
# Global parameters
[global]
netbios name = SPECSCALE
realm = xxxxxxxxxx.COM
server string = IBM NAS
workgroup = xxxxx
preferred master = No
ldap ssl = no
logging = syslog@0 file
max log size = 100000
add share command = /usr/lpp/mmfs/bin/mmcesmmccrexport
allow insecure wide links = Yes
change share command = /usr/lpp/mmfs/bin/mmcesmmcchexport
clustering = Yes
ctdb locktime warn threshold = 5000
delete share command = /usr/lpp/mmfs/bin/mmcesmmcdelexport
lock directory = /run/gpfs-samba/lock
log writeable files on exit = Yes
registry shares = Yes
smbd exit on ip drop = Yes
smbd profiling level = on
disable spoolss = Yes
printcap cache time = 0
disable netbios = Yes
server max protocol = SMB3_02
server min protocol = SMB2_02
unix extensions = No
auth methods = guest sam winbind
restrict anonymous = 2
security = ADS
max open files = 20000
socket options = TCP_NODELAY SO_KEEPALIVE TCP_KEEPCNT=4 TCP_KEEPIDLE=240 TCP_KEEPINTVL=15
include system krb5 conf = No
winbind max clients = 10000
winbind max domain connections = 5
winbind use default domain = Yes
gencache:stabilize_interval = 3600
winbind:request profile threshold = 10
idmap config sbm : range = 1000-500000
idmap config sbm : ldap_user_dn = cn=connect,ou=Special Users,dc=xxxxx,dc=local
idmap config sbm : ldap_url = ldap://master.local
idmap config sbm : ldap_server = stand-alone
idmap config sbm : bind_path_user = ou=People,dc=xxxxx,dc=local
idmap config sbm : bind_path_group = ou=Groups,dc=xxxxx,dc=local
idmap config sbm : backend = rfc2307
nfs4:acedup = merge
nfs4:chown = yes
nfs4:mode = simple
idmap config * : rangesize = 1000000
idmap config * : range = 10000000-299999999
idmap config * : read only = no
idmap:cache = no
shadow:sort = desc
shadow:snapdirseverywhere = yes
shadow:fixinodes = yes
shadow:snapdir = .snapshots
readdir_attr:aapl_max_access = false
fruit:veto_appledouble = no
fruit:nfs_aces = no
fruit:metadata = stream
fruit:copyfile = yes
gpfs:merge_writeappend = no
gpfs:winattr = yes
gpfs:hsm = yes
gpfs:prealloc = yes
gpfs:dfreequota = yes
gpfs:leases = yes
gpfs:sharemodes = yes
smbd:async search ask sharemode = yes
ctdb:smbxsrv_open_global.tdb = false
gencache:stabilize_count = 100000
time_audit:timeout = 5000
aio_pthread:aio open = yes
tdbsam:map builtin = no
winbind:online check timeout = 30
groupdb:backend = tdb
smbd:backgroundqueue = False
notify:inotify = yes
syncops:onmeta = no
fileid:fstype allow = gpfs
fileid:algorithm = fsname
dbwrap_tdb_mutexes:* = true
ctdb:registry.tdb = yes
idmap config * : backend = autorid
mangled names = illegal
map hidden = Yes
map system = Yes
store dos attributes = Yes
posix locking = No
dfree cache time = 100
include = /var/mmfs/ces/smb.conf.internal.0.0.0.0
durable handles = No
ea support = Yes
force unknown acl user = Yes
read only = No
aio read size = 1
aio write size = 1
strict allocate = Yes
vfs objects = shadow_copy2 syncops gpfs fileid time_audit
[home]
path = /gpfsxxxxx/home
wide links = Yes
smb encrypt = if_required
К сожалению, сейчас он работает нормально, и никто не говорит нам, что происходит между тем, когда это не так, и сейчас.
Я думаю, это было связано с сетью. QoS или IDS, что-то вроде этого.
Мы никогда не узнаем :(
Этот пост может быть закрыт
Судя по симптомам, это может быть вызвано TCP Windows. автотюнинг (Автоматическое согласование размера окна TCP) или разгрузка дымохода (разгрузка рабочей нагрузки на сетевой адаптер) технология не работает должным образом (возможно, потому, что один конец или какое-то старое сетевое оборудование между ними обычно не поддерживает автонастройку TCP)
Вы можете протестировать эти настройки на клиенте Windows 7:
Откройте командную строку от имени администратора и напишите следующие команды:
netsh int tcp set global autotuninglevel=disabled
netsh int tcp set global chimney=disabled
Затем перезагрузите компьютер и попробуйте еще раз. Скорость передачи должна быть значительно улучшена.
Если он не работает, вы можете вернуться к настройкам по умолчанию с помощью следующих команд:
netsh int tcp set global autotuninglevel=normal
netsh int tcp set global chimney=enabled