问:为什么文件传输会同时很慢和正常?
传输发起方:VLAN 计算机上的 Windows 7 计算机
来源:VLAN 服务器上的 NSD 共享(IBM GPFS 的 Samba)
目标:VLAN 计算机上的 Windows 7 计算机(用于初始化的计算机)
研究方向:假设这可以与 OSI 模型的主机层相关
我是许多客户的 Linux 系统管理员。我使用远程登录,但我无法测试所有内容。
一个客户端出现了奇怪的行为:在 Windows 7 中,通过打开 explorer.exe 并传输一个文件1Gb(zip、iso、数据、使用 dd 命令创建等等...)来自 LAN 共享(参见下面的配置)使用 UNC 路径,您可以根据文件有 2 种不同的行为。
A)传输速率可能较慢,7-10 Mb/s
B)您可以获得正常的传输速率,50-70 Mb/s
此传输速率对于文件类型而言是永久的。这意味着,如果您在不同的日期和时间尝试,您将获得相同的结果。每次,zip 文件或 iso 文件都有正常的传输速率。当数据文件(由 dd 创建的虚假文件)时,传输速率较低。
从另一台具有相同或其他 Windows 版本(例如 Windows 2012 服务器)的计算机,结果相同。
如果您尝试使用另一个用户帐户,结果相同。
如果您安装 UNC 路径,结果相同。
是否激活防病毒软件
我做了测试并观察到以下情况:
从另一个 VLAN 上的另一个 Linux 传输:两种文件类型的传输速率均为 42 Mb/s
使用 winscp 从另一个 VLAN 上的 Windows 计算机进行传输:两种文件类型的传输速率均为 26 Mb/s
使用 SCP(ssh)从另一个 VLAN 上的 Windows 计算机使用 cygwin 进行传输:两种文件类型的传输速率均为 47-53 Mb/s
使用挂载点从另一个 VLAN 上的 Windows 计算机使用 cygwin 进行传输:A 的传输速率为 7-10 Mb/s,B 的传输速率为 55 Mb/s
客户使用 wireshark 并告诉我他观察到了这一点:Wireshark 显示慢速传输 A 使用 SMB2 协议完成,正常传输 B 使用 NetBios/NBSS 协议完成
由于我的测试显示 SCP(SSH)的传输速率正常(所有文件类型都一样),因此我将搜索定位到 OSI 模型的顶级协议
但我对网络/协议一无所知。
有知识的人可以帮帮我吗?
共享:这是由 NSD 服务器共享的 IBM Spectrum Scale(新 GPFS 名称),在特定 VLAN 服务器上启用 NFS 和 SMB
[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
答案1
根据症状,这可能是由 Windows 的 TCP自动调节(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
答案2
不幸的是,它现在运行正常,没有人告诉我们从它无法运行到现在发生了什么。
我认为它与网络有关。QoS 或 IDS,诸如此类。
我们永远不会知道:(
这篇文章可能已经结束