小编Net*_*ous的帖子

接收器将 TCP 窗口大小限制为 64,512

事实(请指出任何虚假陈述):

  1. 我在相距 80 毫秒的两个站点之间建立了 100 Mbps 的连接

  2. 这是一个长长的胖连接,可以从大 TCP 窗口大小中受益,可能高达 100 Mbps * 0.08 秒 = 1,000,000 字节

  3. 两台机器都运行Windows Server 2012。“接收窗口自动调整级别”在两台机器上都是正常的。两者都禁用了“窗口缩放启发式”。

  4. 我在一侧运行“iperf -s”,在另一侧运行“iperf -c”。传输速度为 5 Mbps。我在另一个方向得到相同的结果。

  5. 双方都在他们的 SYN 中宣传了对 TCP 滑动窗口的支持。

  6. 接收器在整个运行期间请求 64,512 字节 (0xFC00) 的 TCP 窗口大小,TCP 窗口缩放值为“无移位”(0x000)。

  7. 网络能够处理更大的窗口大小(参见下面的序列图)

  8. 接收器保持窗口小于网络支持

  9. 此连接发生在 IPSEC VPN 内。隧道接口的 MTU 减少到双向 1400 字节。

  • 为什么接收器保持窗口很小?

无答案

  • 网络坏了

    运行在同一网络上的 Linux 机器将 TCP 窗口打开到 1.5 兆字节并以 6 倍的带宽传输数据

  • 启用窗口缩放启发式

    窗口缩放启发式被禁用(参见下面的“netsh interface tcp show heuristics”的输出)

  • 接收窗口自整定电平不正常

    Receive Window Auto-Tuning Level 正常(见下面“netsh interface tcp show global”的输出)

  • 这在 …

tcp-window tcp-window-scaling windows-server-2012

34
推荐指数
1
解决办法
3万
查看次数

Linux + SSD 上交换分区的背景丢弃

问题

我想在 Linux 上的 SSD 磁盘内的交换分区上启用后台TRIM 操作。根据几篇文章,例如这篇文章,内核会检测此配置并自动执行丢弃操作,但在我的测试中,尽管使用“丢弃”挂载选项来强制执行此行为,但它似乎不起作用。

设想

  • 运行 Linux 3.2.0 的 Debian Wheezy
  • SSD 磁盘:1 x 120GB OCZ Vertex 3 MI
  • 2GB 交换“普通”分区,无其他层(LVM、RAID 等)

背景

这些是我用来检查后台 TRIM 是否在交换分区上工作的步骤:

  1. TRIM 支持:检查 SSD 磁盘是否支持 TRIM 命令并且内核将设备标记为非旋转:

    # hdparm -I /dev/sda | grep TRIM
     * Data Set Management TRIM supported (limit 1 block)
     * Deterministic read data after TRIM
    
    # cat /sys/block/sda/queue/rotational
    0
    
    Run Code Online (Sandbox Code Playgroud)
  2. 交换填充:挂载分区,清理所有 VM 缓存并配置 Linux 以积极交换,将 vm.swappiness 设置为 100。然后,运行一个脚本来分配所有可用内存并强制内核开始交换:

    # swapon [--discard] /dev/sda2
    # …
    Run Code Online (Sandbox Code Playgroud)

linux debian ssd swap trim

11
推荐指数
1
解决办法
3676
查看次数