标签: latency

(linux) 监控 TCP 连接“质量”的工具?

我正在寻找一个工具来监控 TCP 连接的质量。我试图描述我的意思:

它应该是一个带有客户端和服务器部分的工具。比如说,客户端每秒向服务器发送 1kB 的数据,而服务器会监视数据包传送的速度。

或者,换句话说:我正在寻找类似于“ping”命令的东西,除了我可以测试TCP连接,并且具有相当高的带宽(即更多的数据包),例如1kB/s。

我对最大吞吐量不感兴趣,而是对持续快速交付感兴趣。例如,我会通过连接传输 128kps MP3 文件,最大吞吐量也为 128kps,但延迟较低。我想立即播放该文件(或者说,使用 1 秒缓冲)。

目标是监控现实生活中网络(互联网)连接的可用性。(不,我对像 nagios 这样设置复杂、使用复杂的东西不感兴趣。)

非常感谢!

linux tcp ping latency

6
推荐指数
1
解决办法
8086
查看次数

在 Windows 7 上模拟本地主机连接的网络延迟

我需要模拟在本地计算机上运行的程序的网络延迟,连接到本地服务。到目前为止,我已经尝试过dummynet(ipfw 的 Windows 版本),经过反复试验,我开始工作了。虽然它通常有效,但我似乎无法让它过滤本地主机流量。即使添加了from any to any影响外部流量的规则,这对本地连接也没有任何区别。如果有人知道如何使用 dummynet 或其他工具模拟本地延迟,我将不胜感激。该工具应该能够模拟 IP 数据包(TCP 和 UDP)中的一般延迟,而不是特定于协议的。

networking windows windows-7 latency ipfw

6
推荐指数
2
解决办法
8126
查看次数

使用 USB 延长线是否应该引起对延迟/性能的担忧?

当使用 USB 延长线时,是否需要担心 USB 设备传输任何级别的数据/信号的延迟?

对于这个例子,假设它是一根 50 厘米的电缆(~1.6 英尺)。

它会如何影响文件传输(小数据集或大数据集)与 USB 键盘和鼠标上的击键或鼠标点击?

usb performance latency

5
推荐指数
1
解决办法
2299
查看次数

低延迟键盘 - 它们是真的吗?

刚刚看过一些商业广告或其他内容后,我才意识到与低延迟键盘相比,可能存在高延迟键盘之类的东西。如果是这样,那么低延迟可能是另一件好事,让我所有的编码体验都变得更加美妙。

但是我很难找到关于这个的研究,而不是营销!一些权威或至少有用的信息在哪里?

“标准”键盘延迟有多糟糕?我们是在说毫秒吗?几十毫秒?

软件/硬件协议 PS2、USB、USB 2.0、USB 通道、中断等涉及哪些技术限制?没有人关心这个足以研究和发表吗?

usb keyboard latency protocol

5
推荐指数
1
解决办法
3178
查看次数

面对巨大的(25 秒)延迟,如何 ssh?

我需要在运行 Centos v5 的两台 Linux 机器之间创建 ssh 连接,但延迟可能高达 25 秒。我发现,如果我通过使用以下方法模拟 7 秒或更长时间的往返延迟来人为地测试接近此配置的内容:

tc qdisc add dev eth0 root netem delay 7s
Run Code Online (Sandbox Code Playgroud)

当我尝试:

ssh -n -o ConnectTimeout=0 WilliamKF@centos5Machine whoami
Run Code Online (Sandbox Code Playgroud)

它在大约 1 分 23 秒后失败:

Connection closed by 10.35.50.114
Run Code Online (Sandbox Code Playgroud)

请注意,ConnectTimeout=0 表示永不超时。此外,模拟 6 秒的往返延迟会导致 ssh 在大约 1 分 32 秒后成功。

面对 Linux 上极高的延迟,我能做些什么来让 ssh 正常工作?为什么 ssh 在这个阈值下失败?当我运行tcpdump时,我没有看到明显的错误,大约有51个数据包,tcpdump的哪些数据包在这里有帮助?成功只需要大约 41 个数据包。

ssh latency tcpip tcpdump

5
推荐指数
1
解决办法
1685
查看次数

SSH 和潜在连接(例如,卫星连接)

一周的大部分时间我都住在拥有典型宽带连接的城市,但大多数周末我不在城里,只能使用卫星连接。尝试在卫星连接上通过 SSH 工作虽然可能,但由于高延迟(> 1 秒)而几乎不可取。

我的问题是:
是否有任何软件可以在通过 SSH 发送之前在我的本地计算机上缓冲击键,以帮助使单个击键的延迟更加透明?本质上,我正在寻找可以减少除命令之外的所有内容的高延迟影响的东西(例如,打开文件、更改到新目录等)。

我已经发现 vim 可以在本地打开远程文件并远程重写它们,但是,虽然这是一个巨大的帮助,但它并不是我想要的,因为它只在编辑文件时有效,并且需要每次打开一个连接发生读/写的时间。(对于可能不知道如何执行此操作并且好奇的任何人,只需使用此命令:'vim scp://host/file/path/here)

ssh latency

5
推荐指数
1
解决办法
1823
查看次数

高丢包率 - 所有跃点都显示红色

我已经运行了 Ping Plotter,这里是所有跃点上丢包率很高的结果(大约 12%)。我很难相信谷歌的路由器有问题,是我的网卡有问题吗?

单击屏幕截图以放大它们。

ping 绘图仪屏幕的图片(关闭除坦克世界以外的所有网络流量,移除本地路由器):

高峰时间

我还运行了 winMTR(运行收音机和 starcraft2),我也添加了我的家用路由器。

|------------------------------------------------------------------------------------------|
|                                      WinMTR statistics                                   |
|                       Host              -   %  | Sent | Recv | Best | Avrg | Wrst | Last |
|------------------------------------------------|------|------|------|------|------|------|
|                               my.router -    0 | 1631 | 1631 |    0 |    0 |    3 |    1 |
|                                10.0.0.1 -    5 | 1413 | 1356 |    1 |   11 |   41 |    3 |
|                qr90.bucuresti.rdsnet.ro -    5 | 1379 | 1313 |    1 |   12 | …
Run Code Online (Sandbox Code Playgroud)

networking latency packet-loss

5
推荐指数
1
解决办法
2455
查看次数

为什么巨型帧会损害延迟?

最近我一直在阅读有关巨型帧的文章,但我在一些地方感到困惑。据我所知,“存储和转发”点(第 2 层网桥)之间的以太网帧大小有一个下限,因为在到达目的地时仍需要传输帧以启用冲突检测。这个限制不受巨型帧设置的影响。

巨型帧将帧大小的上限从 1500B + 标头增加到更大的值(例如 4000B 或 9000B + 标头)。

较大的帧允许较低的开销等,但单个数据包在传输过程中被破坏的可能性更大,超出了纠错能力。如果数据包损坏,则需要重新传输(整个)会增加延迟。此外,数据包的传输需要更多时间,因为在传输到 CPU 或转发之前需要(我相信)完全接收它。然而,延迟敏感的应用程序通常使用 UDP 和自定义数据包大小,因此它们不会使用巨型帧(只要它们不进行 MTU 发现),因此它们不应受到巨型帧的影响,因为帧会更短。

鉴于我读取巨型帧会在可测量的程度上损害延迟,我开始想知道是什么导致了这种影响?

networking ethernet latency protocol

5
推荐指数
1
解决办法
9505
查看次数

如何减少 FFmpeg 视频流的延迟?

在 Linux 服务器(FFmpeg)和 Windows 客户端(VLC 播放器)之间的视频流应用程序上,有大约 10 秒的明显延迟。

FFmpeg 命令:

ffmpeg -re -f v4l2 -i /dev/video0 http://192.168.1.101:8090/feed1.ffm
Run Code Online (Sandbox Code Playgroud)

VLC 播放器:

http://192.168.1.101:8090/test.swf
Run Code Online (Sandbox Code Playgroud)

尽管服务器和客户端同时启动,但 VLC 播放器会延迟大约 10 秒来播放流,从服务器捕获的第一帧开始播放。因此,经常会有 10 秒的延迟。

我试图找出导致这种延迟的原因:

  1. 我的第一个想法是编解码器会延迟编码。在这种情况下,我应该在我的 ffserver 配置文件中包含什么编解码器?我尝试了许多视频编解码器(rawvideo、flv、mjpeg),但结果相同。

  2. 其次,是否可以在我的 ffmpeg 命令中包含一个参数来控制延迟?

  3. 另一方面,这种延迟会不会因为 VLC 播放器而发生?

我理解这个问题有点笼统。但是,如果您遇到类似问题,任何帮助将不胜感激。

FFserver 配置文件:

Port 8090
BindAddress 0.0.0.0
MaxClients 10
MaxBandwidth 40000  

<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 500M
ACL allow localhost
ACL allow 127.0.0.1
ACL allow 192.168.0.0 192.168.255.255
</Feed>

<Stream test.swf>
Feed feed1.ffm
Format swf
VideoCodec flv
VideoSize 640x480
VideoFrameRate …
Run Code Online (Sandbox Code Playgroud)

vlc-media-player ffmpeg latency video-streaming video-codecs

5
推荐指数
1
解决办法
9358
查看次数

USB 3.0 集线器和 USB 延长线如何影响延迟(如果有的话)?

我目前有三个外围设备(鼠标、键盘、Wacom 平板电脑),它们都连接到我计算机上的单个 USB 端口。他们每个人都有自己的 6 英尺 USB 延长线(无源),因为电脑有点远。它们都是 USB 2.0 设备。

为了减少电缆,我有点想简化事情。将一根 6-10 英尺的 USB 3.0 延长线从 PC 连接到我随身携带的有源 4 端口 USB 3.0 集线器,然后将所有三个 USB 2.0 外围设备插入其中。

我对一些事情很好奇:

  1. 我知道将 2.0 设备插入 3.0 扩展不会利用 3.0 速度。但是,如果它们都连接到 3.0 集线器,连接到 3.0 电缆呢?理论上,这会导致那些 2.0 设备使用 3.0 电缆中的额外电线吗?

  2. 从理论上讲,通过一根电缆强制所有三个设备的事件调用会增加延迟吗?

  3. 有人告诉我,有源 USB 集线器充当中继器。是这样吗,如果是这样,那可以减少延迟吗?或者这不是中继器的工作原理?

回答一项或部分或全部。我意识到这似乎是一件无关紧要的事情,但我关心细节。非常感谢阅读。

usb latency peripherals repeater usb-hub

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