您如何知道Cisco交换机是否能够很好地处理流量?


18

我刚刚阅读了Jeremy关于2960-S和iSCSI流量处理的问题,这促使我提出以下问题:我们都在不同的基础架构中部署了很多交换机,您如何知道流量得到了很好的处理?

我通常检查CPU,RAM和系统日志,但没有考虑缓冲区。

我使用了显示缓冲区失败,这是数据的示例:

show buffers failures 
Caller       Pool          Size      When
0x1279AE0   Middle           445    3d19h
0x1279AE0   Middle           446    3d19h
0x1279AE0   Middle           444    3d19h

我怎么知道在哪个接口上发生的?

是否还有其他性能指标需要审查?


有什么答案对您有帮助吗?如果是这样,您应该接受答案,这样问题就不会永远弹出来寻找答案。或者,您可以提供并接受自己的答案。
罗恩·莫平

Answers:


14

这取决于您拥有的交换机型号,这并不容易。

较小的Catalyst交换机通常至少使用两种形式的缓冲区-通常在较小的Catalyst(2k / 3k)上的“显示缓冲区”下“接口缓冲池:”部分下可见一个接口缓冲缓冲区:

Interface buffer pools:
Syslog ED Pool buffers, 600 bytes (total 132, permanent 132):
   100 in free list (132 min, 132 max allowed)
   11151 hits, 0 misses
RxQ1 buffers, 2040 bytes (total 128, permanent 128):
   4 in free list (0 min, 128 max allowed)
   244594209 hits, 4559839 fallbacks
RxQ2 buffers, 2040 bytes (total 128, permanent 128):
   1 in free list (0 min, 128 max allowed)
   202559241 hits, 1582494 fallbacks, 0 trims, 0 created
   1582494 failures (0 no memory)
...

...并且有一个“公共”区域,在该区域中,CPU正在使用缓冲区,因为它们被冲向缓冲区并需要维修。“ Rx”级缓冲区是共享缓冲区的一部分,用于服务所有接口(在旧的,旧的交换机(如2950或最新的2960S / 3560X / etc等)上)或属于特定端口ASIC的接口的子集(如29603560) / 3750 / 3560E / 3750E)。

特别是在4500和6500上,它变得混乱,因为数据包可以通过许多池-输入接口(ASIC)缓冲区,线卡级别的池(在DFC的6500上),交换结构级别的池最后是Supervisor级别的缓冲区。它们在物理上不必是独立的内存池,但通常会以不同的命令映射到不同的名称,以简化故障排除过程(例如,在数据包通过的步骤中,数据包被丢弃)。


14

到目前为止,您收到了很多回复。

就像Lukasz所说的那样,在Catalyst交换机上,缓冲区设置有些复杂。有一个池可供您分配4个出口队列的缓冲区。您可以选择保留一定数量的缓冲区,然后将其余的缓冲区放在池中并根据需要使用它。保留的缓冲区不能被其他队列/阈值触及。

在此处输入图片说明

要查看不同队列/阈值上的丢弃,请使用以下命令:

show platform port-asic stats drop gix/x

在此处输入图片说明


11

如果遇到缓冲区故障,我将使用以下命令:

显示界面| 我(线路协议|无缓冲区)

您将需要手动对输出进行一点排序,但是您要查找的行是否超过0,所以没有这样的缓冲区错误:

FasttEthernet0/24 is up, line protocol is up (connected)
     1557332164 packets input, 3733280910 bytes, 6718 no buffer
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.