我的目标是为自定义低延迟网络程序配置我们的 CentOS(“免费”RHEL)5.x 服务器。我想尝试将以太网 NIC 中断处理绑定到程序运行的同一 CPU(希望提高缓存利用率)。此过程的第一步是确定 NIC 的 IRQ。
以下是一台服务器上 /proc/interrupts 的内容(请注意,为了简洁起见,我删除了 CPU 2 到 14):
CPU0 CPU1 CPU15
0: 600299726 0 0 IO-APIC-edge timer
1: 3 0 0 IO-APIC-edge i8042
8: 1 0 0 IO-APIC-edge rtc
9: 0 0 0 IO-APIC-level acpi
12: 4 0 0 IO-APIC-edge i8042
50: 0 0 0 IO-APIC-level uhci_hcd:usb6, uhci_hcd:usb8
58: 6644 25103 0 IO-APIC-level ioc0
66: 0 0 0 IO-APIC-level ata_piix
74: 221 533830 0 IO-APIC-level ata_piix
98: 35 0 2902361 PCI-MSI-X eth1-0 …Run Code Online (Sandbox Code Playgroud) 我最近从我们的生产 EC2 的快照创建了一个新的 EC2。
机器启动良好,但我可以通过 ssh 登录 - 无法通过其他任何方式访问。没有万维网,什么都没有。
在进一步检查设备后,主要是网络堆栈 - 我看到了这一点:
/etc/udev/rules.d/70-persistent-net.rules
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="06:68:f3:22:91:f2", NAME="ens5"
Run Code Online (Sandbox Code Playgroud)
如果配置
ens5: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 9001
inet 172.31.12.146 netmask 255.255.240.0 broadcast 172.31.15.255
inet6 fe80::468:f3ff:fe22:91f2 prefixlen 64 scopeid 0x20<link>
ether 06:68:f3:22:91:f2 txqueuelen 1000 (Ethernet)
RX packets 492 bytes 81928 (80.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 474 bytes 76982 (75.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 …Run Code Online (Sandbox Code Playgroud) 我将有一个新的光纤互联网连接进入 A 楼,并且需要在 B 楼设置一个接入点。两者都是商业建筑。光纤互联网目前为 20 Mbps,但可能高达 1000 Mbps。
建筑物在视线范围内,但有树木,冬季积雪深达 5-30 英尺。点对点无线现在正在使用中,但是当树木积雪时,风暴过后它就无法正常工作了。我不经常在现场,所以我必须一口气执行。
我知道我可以在树与树之间运行cat6电缆,带有防雷块,并且可能在一端安装一个光隔离小工具。
AT&T 专用互联网放弃了一条几乎贯穿整个距离的光缆。有了正确的知识和光纤以太网桥,就可以做到。这是他们会使用的任何光纤——不知道是单模还是多模还是什么。
或者,我可以在树之间运行新的光纤。具有关于光纤类型、连接器类型、抛光和悬挂的学习曲线。
我会打电话给一家网络公司,但地点在郊区。你将如何完成这项工作?第一次(唯一一次)DIY 像这样跑步的入门门槛是什么?是否有关于连接器类型和电缆选项(尤其是光纤)的良好指南?我看到很多光纤设备,但没有很多“成套”的电缆/连接器/中继器都准备好一起玩。
对于我的部门,我设想了一个由相同机器组成的两节点集群,运行 S2D。
我想使用 Broadcom 57416 10GBASE-T 适配器(示例说明),因为它们支持 RDMA 并以我的组织提供的免费基础架构的速度运行。
你能告诉我“直接连接”需要什么类型的硬件和电缆吗?
由于我没有使用自己的开关,如果可能的话,我希望节点直接同步。
所以我们最近不得不在一个地点发生两个主要问题。
现在被“击中”的一件事是 SOHO 路由器。升级机房后,发现这个SOHO路由器的端口不能用了。我将电缆调好,但更换路由器(相同品牌和型号)没有通电。我已经重新打孔了端口的背面,我尝试了不同的电缆,等等仍然没有。除了通过建筑物重新铺设这条电线之外,还有什么我可以尝试的吗?我的想法是,击中路由器的闪电也炸毁了以太网电缆。
谢谢。
在http://support.microsoft.com/kb/942861 中, Microsoft 报告说在某些情况下 Microsoft SQL Server 会遇到网络问题,因为网卡打开了 TCP 烟囱卸载。我有其他服务器软件也遇到类似问题。结果和 SQL Server 一样,关闭 TCP Chimney Offload,一切恢复正常。
这个 TCP 烟囱卸载功能有什么作用?它是什么阻止某些网络数据包到达最终应用程序?
在工作中的一个项目,我需要能够将它们连接到一个“环回适配器插头”一样,测试各种以太网NIC这一项上脱落生产装配线各种嵌入式Linux Boxen有。我希望能够在一个以太网接口上设置两个不同的 IP 地址(地址 A 和地址 B),然后从地址 A 到地址 B 运行 ping。
Ex: ping -I AddressA AddressB
Run Code Online (Sandbox Code Playgroud)
这甚至可能吗?
此外,是否有可用的测试可以使用环回插头仅在 L2/MAC 地址级别上测试以太网接口?如果我还记得,RealTek 为他们的 8139 以太网适配器提供了一个诊断工具,该工具执行了各种 L2 环回测试,我想知道是否有一个 linux 工具可以执行相同的操作。
更新: 添加了关于为什么我在上述评论中测试框的评论。本周末我将不得不尝试其中的一些想法,看看会发生什么。也许使用梯形插孔 + 一些硬件商店的电线制作我自己的“环回适配器插头”,并尝试查看我是否可以使用示波器或逻辑分析仪查看信号以确保信号实际击中电线。由于这似乎比预期的要困难,我们的工作团队决定通过拿起一个小型家用 NAT 路由器然后 ping 路由器,并将其放入硬件测试装置来测试 Linux boxen 以太网端口。尽管如此,我仍然对它的技术方面很感兴趣,并希望自己在这个主题上进行实验。
您建议使用什么数据包嗅探器,尤其是在 50 多个工作站环境中?我是 Wireshark 的粉丝,但它有相当多的安全历史。有什么更好的吗?
我将驱动程序 e1000e 用于多个英特尔网卡(英特尔 EXPI9402PT,基于 82571EB 芯片)。问题是,当我尝试在多个接口上使用最大速度 (1GB) 时,每个接口上的速度开始下降。
对于一个接口,我得到:120435948 字节/秒。
对于我得到的两个接口:61080233 字节/秒和 60515294 字节/秒。
对于我得到的三个接口:28564020 字节/秒、27111184 字节/秒、27118907 字节/秒。
可能是什么原因?
编辑:/proc/interrupts 内容:
CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7
106: 17138 0 0 0 0 0 0 0 PCI-MSI eth0
114: 51 0 0 0 102193 0 20 23745467 PCI-MSI eth2
122: 51 290 15 271 0 9253 100 0 PCI-MSI eth3
130: 43 367 0 290 105 39 15 0 PCI-MSI eth4
138: 43 361 105 210 0 140 …Run Code Online (Sandbox Code Playgroud) ethernet ×10
linux ×3
networking ×3
windows ×3
cable ×2
tcpip ×2
amazon-ec2 ×1
drivers ×1
fiber ×1
intel ×1
interrupts ×1
irq ×1
jumboframes ×1
ping ×1
switch ×1
tcp ×1
testing ×1
vlan ×1