背景
我在专用防火墙 (Cisco ASA 5505 Sec+) 后面有一个新的托管专用数据库服务器。计划是在防火墙的另一侧安装一个或两个虚拟 (又称“云”) Web 服务器,以连接后端数据库服务器。
在设置服务器时,我对它的网络性能并不满意。事实证明,虽然 2 台服务器都有 GigE,但防火墙仅支持 100Mb,因此我遇到的大多数性能问题都可以用它充分解释。
问题
但是,作为故障排除的一部分,我从专用服务器对防火墙进行了一系列 ping。这些 ping 返回了一些有趣的结果 - 具体来说,100 次 ping 的分布如下:
57% < 1ms
14% between 1ms and 2ms
12% between 2ms and 3ms
11% between 3ms and 6ms
6% >= 6ms
Min/Avg/Max: 0/1/8 ms
我本来预计第一跳会一直小于 1ms(而且我真的不记得有任何硬连线环境不是这样)。后续测试非常相似,而且已经持续了好几天 - 所以这似乎不是一个孤立事件。没有观察到重传或丢包。跨防火墙 ping 显示出类似的性能:
58% < 1ms
14% between 1ms and 2ms
8% between 2ms and 2ms
14% between 3ms and 6ms
6% >= 6ms
Min/Avg/Max: 0/2/56 ms
故障排除
托管商已检查服务器、防火墙和中间交换机,未发现任何问题。他们还指出,他们“降低了”网络上 ICMP 流量的优先级。他们注意到最近出现了一些端口抖动(我认为可能是由服务器配置引起的),并将“继续监控”这种情况。端口抖动的次数不够多,时间相关性也不够,不足以解释 ping 时间,尽管这可能是潜在问题的(另一个)症状。
我无法直接访问 ASA - 但主机提供商作为故障排除的一部分在其上运行了一些统计数据:
# ping ***** (series of 5-packet pings from firewall to server, edited for brevity)
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/10 ms
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/4/10 ms
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/10 ms
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/8/10 ms
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/6/10 ms
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
# show cpu usage
CPU utilization for 5 seconds = 13%; 1 minute: 11%; 5 minutes: 10%
# show mem
Free memory: 341383104 bytes (64%)
Used memory: 195487808 bytes (36%)
------------- ----------------
Total memory: 536870912 bytes (100%)
# show int eth0/1
Interface Ethernet0/1 "", is up, line protocol is up
Hardware is 88E6095, BW 100 Mbps, DLY 100 usec
Full-Duplex(Full-duplex), 100 Mbps(100 Mbps)
Available but not configured via nameif
MAC address *****, MTU not set
IP address unassigned
5068644 packets input, 5077178693 bytes, 0 no buffer
Received 4390 broadcasts, 0 runts, 0 giants
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
0 L2 decode drops
387883 switch ingress policy drops
3220647 packets output, 1648213382 bytes, 0 underruns
0 output errors, 0 collisions, 0 interface resets
0 babbles, 0 late collisions, 0 deferred
0 lost carrier, 0 no carrier
0 input reset drops, 0 output reset drops
0 rate limit drops
0 switch egress policy drops
除了防火墙的 CPU 使用率似乎较高(防火墙带有几个 ACL,并且可能只有一个 RDP 会话通过它)之外,我看不出 ASA 统计数据有什么值得担忧的地方。在我看来,它肯定没有负担过重。
问题
考虑到我们正在接近磁盘寻道时间,并且防火墙或服务器上还没有生产流量 - 我仍然有点担心。你们觉得呢?这是一个问题吗?这在较大的数据中心环境中是正常的吗?
答案1
首先,您没有说明您拥有的具体 ASA 型号,也没有说明许可模式。请发布“sh ver”和“sh int Ethernet0/0”的输出。
话虽如此,不同的 ASA 型号具有不同的吞吐量限制。例如,ASA5510 的最大吞吐量(并发)限制为 300mbps。请参阅http://www.cisco.com/en/US/prod/collateral/vpndevc/ps6032/ps6094/ps6120/product_data_sheet0900aecd802930c5.html以获取完整列表。
说到延迟,所有思科产品都会将流量直接发送到队列底部的设备。这就是为什么将 ICMP 回显发送到路由器或防火墙是坏习惯,因为结果永远无法预测。我们这里有两台 ASA5510(均具有千兆位)和两台 3750-X 交换机,当它们推送大量流量时,它们的 ICMP 回显延迟都会跳升至 300ms。
这并不意味着路由/转发的流量很慢
如果要检查延迟,请使用 ASA 上的设备之间的 ping。这是唯一可靠的方法。