我目前正在运行两个虚拟化服务器(Xenserver和Proxmox)规格:
Proxmox:2个E5-2690(32个核心)128GB内存(DDR3)2个512GB固态硬盘2个10Gbps网卡,使用英特尔x520(一个用于专用networking)
Xenserver:4个E7-4870(80个核心)256GB内存(DDR3)4个512GB固态硬盘3个10Gbps网卡,使用intel x520的两个端口供公众使用,一个供私人使用
每个服务器上都有一个应用程序,它可以传输大约64kpps的数据,并且可以接收100kpps的UDPstream量,总共可以下载300Mbps左右的数据,上传到互联网的速度可以达到170Mbps。 在运行应用程序之前(在任一台服务器上的虚拟机上),这些服务器到speedtest.net的速度大约为运行在pipe理程序上的5Gbps / 3Gbps。 在虚拟机上运行应用程序并生成大约300Mbps / 180Mbps的上述stream量后,虚拟机pipe理程序的速度会爬到Proxmox主机上的2.5Gbps / 700Mbps,Xenserver主机上的速度大约为200 / 200Mbps。 但是,连接到Juniper EX4550的交换机似乎没有受到300Mbpsstream量的影响,并且通过iperf的交换机的总吞吐量在应用运行时仅下降了大约400Mbps
我曾尝试在Xenserver主机上的两个公用NIC之间分割stream量,但获得了上述stream量的额外networking吞吐量的0%。 这使我相信这个问题是Linuxnetworking堆栈的一个瓶颈。 但我不确定从哪里开始进行故障排除。 谢谢
PS:链接饱和的问题也出现在专用服务器上(运行应用程序时报告2Gbps速度的服务器在运行应用程序时会导致速度下降到100 / 50Mbps),从而导致应用程序出现故障