AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 531509
Accepted
Liam
Liam
Asked: 2013-08-17 06:14:41 +0800 CST2013-08-17 06:14:41 +0800 CST 2013-08-17 06:14:41 +0800 CST

为什么我的本地网络传输速度会随着文件变大而降低?

  • 772

短版:我在本地有线网络上有一台 Linux 服务器 (RHEL5) 和一台 Windows 7 Professional 笔记本电脑。将大文件复制到服务器会逐渐变慢,直到完全停止。

长版

服务器上有一个 Samba 共享,我可以连接到它,并且我具有读/写访问权限。

从服务器到笔记本电脑的所有传输都可以正常工作,但从笔记本电脑到服务器的传输似乎速度受到限制,有时甚至完全失败。

小文件传输正常,但超过 2MB 的文件通常会失败。

为了测试这是 Samba 问题还是其他问题,我尝试使用scp(Putty's pscp) 将一些文件从笔记本电脑复制到服务器。1MB 文件几乎可以立即复制,2MB 需要 3 分钟,3.7MB 需要 18 分钟。所以它不是特定于 Samba 的。

此外,使用 Samba 和 SCP,我可以毫无问题地复制几 MB 非常小的文件。

什么可能导致这种行为?我将非常感谢任何建议。

Windows 给出此错误消息:

There is a problem accessing H:\
Make sure you are connected to the network and try again

在服务器上,ifconfig显示一些错误:

eth0      Link encap:Ethernet  HWaddr 00:22:19:AD:52:E2
          inet addr:192.168.1.7  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::222:19ff:fead:52e2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4125439 errors:72181 dropped:0 overruns:0 frame:0
          TX packets:3575918 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:4481289749 (4.1 GiB)  TX bytes:581533090 (554.5 MiB)
          Interrupt:169 Memory:dfdf0000-dfe00000

/var/log/messages:

Aug 16 14:50:16 dev smbd[475]: [2013/08/16 14:50:16, 0] lib/util_sock.c:read_data(540)
Aug 16 14:50:16 dev smbd[475]:   read_data: read failure for 4 bytes to client 192.168.1.12. Error = Connection reset by peer
Aug 16 14:50:16 dev smbd[475]: [2013/08/16 14:50:16, 0] lib/util_sock.c:write_data(568)
Aug 16 14:50:16 dev smbd[475]:   write_data: write failure in writing to client 192.168.1.12. Error Broken pipe
Aug 16 14:50:16 dev smbd[475]: [2013/08/16 14:50:16, 0] lib/util_sock.c:send_smb(767)
Aug 16 14:50:16 dev smbd[475]:   Error writing 75 bytes to client. -1. (Broken pipe)

/var/log/samba/smbd.log:

[2013/08/16 14:50:16, 0] lib/util_sock.c:read_data(540)
  read_data: read failure for 4 bytes to client 192.168.1.12. Error = Connection reset by peer
[2013/08/16 14:50:16, 0] lib/util_sock.c:write_data(568)
  write_data: write failure in writing to client 192.168.1.12. Error Broken pipe
[2013/08/16 14:50:16, 0] lib/util_sock.c:send_smb(767)
  Error writing 75 bytes to client. -1. (Broken pipe)
[2013/08/16 14:50:16, 1] smbd/service.c:make_connection_snum(1077)
  liam-pc (192.168.1.12) connect to service external initially as user liam (uid=502, gid=502) (pid 529)

编辑:如果我在笔记本电脑上启动 Ubuntu,我可以毫无问题地将大文件复制到服务器上的 SMB 共享。所以问题出在 Windows 7 或 Windows 7/RHEL5 组合上。

networking
  • 3 3 个回答
  • 3867 Views

3 个回答

  • Voted
  1. Best Answer
    Liam
    2013-08-27T02:25:47+08:002013-08-27T02:25:47+08:00

    我跑了service network restart,它似乎已经解决了这个问题。这似乎有点奇怪,因为问题已经存在一年多了,并且从那时起服务器已经重新启动了几次。我在 70 年代复制了一个 365MB 的文件到服务器,平均 5.2MB/s,没有错误。

    • 1
  2. adamh
    2013-08-23T01:22:18+08:002013-08-23T01:22:18+08:00

    这听起来像是网络问题或 Windows 和 Linux Samba 版本之间的不兼容。

    您是否尝试过将笔记本电脑直接插入服务器?如果它在 Ubuntu 上运行正常,那应该不是问题,但您可以尝试。

    您应该捕获一些流量以查看它在您的网络中实际发生的情况。您可以在这里分享它,也许我们可以找到问题。

    如果没有其他工作,你可以试试这个分析工具。我发现它真的很有趣,您可以上传 pcap 文件,然后他们会通过电子邮件向您发送分析。如我所见,您可以在表单中提交您的问题。

    • 0
  3. vskubriev
    2015-09-29T00:43:49+08:002015-09-29T00:43:49+08:00

    由于便宜的 D-link 交换机,我遇到了这个问题。例如 DGS-1008D。这个问题对于 smb 和 nfs 是一样的。

    我使用 wget 和内部 http 服务器来识别网络问题:

    wget http://static-http.example.local/1024mb_file -O /dev/null
    

    您可以使用 python 将任何主机用作内部 http 服务器:

    python -m SimpleHTTPServer 8000
    

    这将提供相对于服务器上当前目录的文件

    然后在客户端使用以下命令:

    wget http://host:8000/bigfile.tgz -O /dev/null
    

    如果你有一个千兆网络,你应该获得大约 90-100Mb/秒的速度。如果你有一个 10 Mbit 的网络,你应该获得大约 10 Mb/sec 的速度。

    由于文件已缓存,因此可以在第二次尝试读取时达到此速度。在缓存文件之前,您将获得主机磁盘读取速度。

    但是,如果您遇到以太网的网络问题,您将获得比正常速度低 10 倍的速度

    关闭/打开开关可以解决问题,但需要一段时间。

    • 0

相关问题

  • 谁能指出我的 802.11n 范围扩展器?

  • 我怎样才能得到一个网站的IP地址?

  • 在一个 LAN 中使用两台 DHCP 服务器

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve