我们有 2 台 Red Hat 服务器,专门用于客户速度测试。它们都使用 10Gb 光纤连接并位于 10Gb 链路上。这些服务器之间的所有网络设备都完全支持 10Gb/s。使用 Iperf 或 Iperf3,我能得到的最好的速度大约是 6.67Gb/s。话虽如此,一台服务器正在生产中(客户正在使用它),另一台服务器在线但未使用。(我们用它来测试 atm) 6.67Gb/s 也是一种方式,我应该提一下。我们将这些称为服务器 A 和服务器 B。
当服务器 A 作为 iperf 服务器时,我们获得了 6.67Gb/s 的速度。当服务器 A 作为服务器 B 的客户端时,它只能推送大约 20Mb/s。
我做了什么:
到目前为止,我所做的唯一一件事就是将两台服务器上的 TX/RX 缓冲区增加到最大值。一个设置为 512,另一个设置为 453。(仅 RX,TX 已经最大化)所以这里是更新后的样子:
Server A:
Ring parameters for em1:
Pre-set maximums:
RX: 4096
RX Mini: 0
RX Jumbo: 0
TX: 4096
Current hardware settings:
RX: 4096
RX Mini: 0
RX Jumbo: 0
TX: 4096
Server B:
Ring parameters for p1p1:
Pre-set maximums: …
Run Code Online (Sandbox Code Playgroud) 使用 --dport 参数可以在单个规则中指定多少个端口?。前任 -
iptables -A INPUT -p tcp --dport {0,5,10,15,20,25, etc,,??} -j ACCEPT
Run Code Online (Sandbox Code Playgroud) 我在 tshark 中使用这个命令:
tshark -r pcapfile "tcp and ip.src==192.168.1.1" -T text -V -x | grep 'Total Length'
Run Code Online (Sandbox Code Playgroud)
这本质上仅解析来自源 ip 的连接的 pcap,并查找每个数据包的总长度(以字节为单位)。我得到这样的输出:
Total Length: 125
Total Length: 210
Total Length: 40
Total Length: 125
> etc, etc....
Run Code Online (Sandbox Code Playgroud)
我需要做的是从 Total Length 中获取数字并将它们相加,以便我可以了解在 pcap 的时间范围内从单个 IP 通过线路传递了多少数据。
有没有我可以在我用来执行此操作的命令的末尾添加的命令?或者有没有一种方法可以直接到标准输出,然后将其通过管道传输到可以解析和计算我所追求的程序?任何人都知道可以执行此操作的带有 tcpdump 的类似命令?
我正在拖尾文件输出并搜索具有某些数据的行。我不想将数据输出到屏幕,而是计算它找到的实例数并将其发送到屏幕。实例的数量可以滚动和递增,也可以覆盖现有的并且仅在递增时显示它。那部分并不重要,我只需要找到实例的运行计数。
我现在的命令是
tail -f 日志文件 | grep '我想要的数据'
我试过使用 grep -c 和 wc -l 但没有给我想要的结果。这个特定的 Linux 发行版没有 pv 并且无法获得它。有没有办法做到这一点?
当我通过 ssh 连接到我的 Linux 服务器并像这样使用 grep 时:
grep '超时超时' 日志文件 | 较少的
自动换行不起作用。
但是,如果我使用相同的命令但先使用 less,如下所示:
更少的日志文件| grep '超时'
线条环绕。我不确定是什么问题,或者这是否正常。但无论我使用什么 ssh 客户端,它都会发生。我已经尝试过 putty 和 Ubuntu 客户端。我怎样才能解决这个问题?