MPLS性能低下

背景:
我的公司正在转向MPLS提供商。 MPLS提供商提供互联网和MPLS。 这是通过使用两个dot1q子接口,一个用于私有MPLS部分,另一个用于互联网,通过一个以太网丢弃来完成的。

旧的设置是通过互联网和静态路由的一堆站点到站点的IPSEC VPN隧道。 新的设置使用eigrp。

问题:
新的MPLSnetworking的性能似乎比较慢。 有一个内部使用的Web应用程序,其页面的加载时间比以前多花费10秒。 奇怪的是,当我停止使用MPLS,并通过新的互联网连接(相同的物理以太网端口)build立站点到站点的VPN隧道时,这也是更快的。 该提供商说,隧道最终采取了几乎相同的路线,如MPLS。

我们已经厌倦和发现
Ping延迟是稳定和体面的。 Traceroute看起来很正常。 一切仍然有效,但似乎更慢。 提供商和我们看不到包丢失或接口统计错误。 有一些时钟的问题,但他们修好了。

从这往哪儿走:
我知道networking可能需要很多有关设置的细节,所以我真的只是寻找想法和事情来看待和考虑。 我要和提供商合作的下一步是获得思科对案例的支持,我的公司和我们的提供商都将开放或路由到他们。 但是在此期间,我愿意考虑为什么可能会考虑这个问题。

我会寻找一个MTU问题。

在MPLS隧道中,数据包必须比有效载荷稍大一些 – 对于每个封装来说,MPLS标签是4个字节(即,如果要将MPLS隧道放入MPLS隧道中,外部隧道的长度应比有效载荷)。 这是对此的讨论。

希望你没有过滤ICMP消息 – 如果你是丢弃“使用更小的MTU”数据包,networking将发送到你的主机,如果你真的发送太大的数据包通过networking。 这将讨论与MTU有关的问题

有一件事你可以在不涉及ISP的情况下尝试一下,你可以 MTU缩小到你的边界设备上 – 这样它就可以和你的内部networking协商一个适当的MTU来处理通过MPLS链路的stream量。

我会在你的提供商MPLSnetworking的两端采取tcpdump / wireshark捕获来查看数据包是否相同。 你可能会寻找丢失的数据包,碎片(MTU问题),…

最终尝试一个不同的接口修复了这个问题,即使是思科支持也无法确切地说出发生了什么事情…