对“慢速”网络进行故障排除


21

我们都曾抱怨“网络”在某个时候“很慢”:可能位于一个房间(交换机)或一台计算机上,可能只是Internet(DNS?浏览器问题?),可能只是一个应用程序(长时间运行的SQL查询?正在运行AV扫描?)。

在排除明显的系统和/或应用程序问题后,如何测试网络的慢速或不稳定行为?您是否在OSI层上工作?如果是这样,如何检查每一层?您如何确保在未知环境中物理网络正常?太多广播或广播风暴怎么办?第3层及以上?跟踪路由?还有其他技巧,方法或想法吗?所有规模的网络都必须具备的功能和工具(端口镜像,SNMP,监视等)?



1
可能,但我认为Wiki的寿命会更长一些,并为更多的人提供贡献的机会。
WuckaChucka 2010年

首先,我必须确信它是“互联网”!然后更多时候不是“互联网”。大多数LUSERS,我身边说,互联网络下来,甚至当他们试图访问本地文件服务器..
托尼·罗斯

2
这是因为您的所有用户现在都在流媒体观看世界杯的视频供稿!
BillN 2010年

Answers:


9

tcpdump和Wireshark是您的朋友。

我发现,观察“慢速”网络与“良好”网络的数据包通常可以找出问题所在。

“慢”的类型很多。

您可以使用SmokePing之类的工具跟踪本地和Internet网站的延迟。(可以将SmokePing配置为跟踪ICMP延迟以及TCP服务的服务延迟)

您的交换机应跟踪广播数据包与单播数据包。绘制该比例。

我还喜欢监视跟踪路由(检查“重要”站点之间的ISP跃点的域名)。

希望这些评论对您有所帮助。


1
观看数据包时,您正在寻找什么东西,或者存在“问题迹象”?
WuckaChucka 2010年

3
寻找大量的TCP重传和\或TCP重置。还希望获得较高百分比的广播流量。
joeqwerty 2010年

优秀。我几乎将其单独回答。
WuckaChucka 2010年

如果您可以从MS使用netmon 3+,请转到microsoft research并下载tcp分析器research.microsoft.com/en-us/downloads/…对于调试网络问题而言,它非常酷。如果需要的话,还有32位版本。
Tony Roth 2010年

+1为SmokePing。这样,再加上思科路由器和交换机中的IPSLA之类的技术,可以帮助您了解网络速度慢还是应用程序速度慢。
Christopher Cashell

6

很难给出具体的答案,因为90%的工作都是经验,它会教您在哪里寻找哪种问题,而另外90%的人则知道在Google上寻找从哪里开始的提示。

我通常会尝试用纸袋包装的东西,例如让客户演示问题(主要是为了排除手指问题以及客户可能描述他的问题的任何问题),然后尝试在另一台计算机上重复该问题。这样做通常可以让您深入了解要看的地方。

即使在今天,也不要忘记重启的纠正问题,尤其是对于Windows系统。过去的情况是如此之多,以至于我会问人们“您是否重新启动了?好尝试一下,让我知道问题是否仍然存在” –这解决了我被问到的很大一部分问题。

DNS解析问题和基本连接(路由器上的ACL,网络中的空气间隙,对远程站点的pings / traceroutes / mtrs等)通常也很容易获得成功。

对于服务,您可以直接控制,运行nagios或其他确保服务真正运行的方法,这通常会触发您在客户告诉您问题之前解决问题。您可能还希望直接通过munin之类的东西或通过SNMP到Cacti之类的东西来运行统计信息收集。

我通常会尝试让Cacti至少针对我所有的核心交换机和防火墙运行;在可能的情况下,我会尽我所能来经营仙人掌。在这些情况下,我通常会寻找端口错误计数或流量过大之类的东西。某些设备的防火墙图可以显示CPU使用率和并发会话。您将了解防火墙设备在什么阈值开始出现问题。

您的防火墙可能能够登录到syslog设备。如果是这样,请记录所有可能的内容,并在其中查找提示。如果您运行诸如syslog-ng或rsyslog或splunk之类的东西,使您可以对日志进行某种程度的划分而不是处理一个整体文件,则将更加容易。

我还尝试至少在防火墙内部以及可能的情况下对互联网提供商的上行链路运行nfsen。这样,您就可以使时光倒流以查看会话,以了解谁在做什么。这有时会引起有趣的行为。


5

以下是一些有用的工具,可用于解决延迟和其他网络问题:

  • OSI模式的 L -从底部开始,您的方式工作
  • ping-检查您的RTT(即延迟)
  • HTTP ping-如果防火墙阻止正常的ICMP,则很有用
  • ping -r 9-有助于识别非对称路由情况
  • traceroute-我的数据包如何到达那里,以及沿途的路由器如何响应?请注意,路由器通常会以较低的优先级处理这些数据包,因此实际性能可能会更好。
  • Wireshark-需要一些专业知识,但是您不能获得太多的下层知识
  • SpeedGuide.net TCP / IP分析器 -检查PC的TCP设置
  • SG TCP Optimizer-(仅Windows)建议优化NIC设置的方法
  • IP Chicken-您的来源(非NAT)IP地址是什么?
  • http://downforeveryoneorjustme.com/-也许你...
  • 带宽速度测试 -检查您的下载/上传速度
  • 网络工具 -从网络外部运行工具/测试
  • 检查您的网络端口是否有错误/ CRC /等。--
  • 检查您的网络是否过度使用(带宽监视器)和广播风暴
  • 检查单播泛洪-使用Wireshark并监视不是发往工作站的单播流量。
  • 确认您的生成树根桥正确放置

如果ping -r超时,它表示什么?例如,一个ping 8.8.8.8工作,但一个ping -r 9 8.8.8.8犯规
米歇尔面包车Vaardegem

4

如果您正在运行无线网络,则通常的速度下降之一就是信道干扰。一个区域中的一堆SSID确实会减慢网络流量。(想想:WWDC '10上的iPhone 4演示)。

如果使用可以向您显示该区域无线流量模式的软件,则对该问题进行故障排除非常容易。在http://meraki.com/tools/stumbler上有一个不错的免费的基于Web的网站。(披露:我为Meraki工作)

为了减少干扰,最好将其放在1、6或11信道上。使用5GHz频率的802.11n齿轮也有帮助。


1

我总是从使用Cacti监视第2层内容开始。这将为您提供大量数据,可用于查找模式,并且在一切运行良好时或用户看到速度较慢时可以比较仙人掌图。

它可能不会找到确切的问题,但是它将为您提供一个很好的起点来帮助缩小问题的范围。


您在仙人掌图中是否有特别需要的东西?
WuckaChucka 2010年

1

我从最外层的路由器开始,然后逐步下降,然后以最原始的方式衡量性能:使用带宽测试站点或已知的外部FTP站点,该站点将为您提供上载/下载速度,然后一直下降直到您找到问题所在的级别。

一旦知道问题出在哪里,就部署您的高级工具和监视器。但是不要浪费时间在每一层上做这些事情。这将永远。


但是对于内部应用程序性能呢?
WuckaChucka 2010年

@wuckachucka:通常,如果代码有问题,它会显示在所有日志中,因此故障排除并不是那么糟糕。您还知道从哪里开始(该应用程序)。网络故障排除的最大问题是查找问题。如果您遇到端口速度不匹配或MTU不好或其他物理问题,那么这些都是通过日志进行故障排除的完全混蛋,而穴居人的方法在那里有很多优势。
Satanicpuppy 2010年

1

您还需要了解您的服务器和桌面/客户端环境,而不是简单地假设用户在说“网络速度慢”时是正确的。您需要有条不紊地对每个问题进行故障排除-正如其他人所说的那样,您应该首先能够查看并理想地重现该错误,然后以一种适合该情况的方式从那里进行工作。

但是,对网络和服务器进行良好的管理和监视可以为您节省大量时间,因为您不希望即时提出检测手段,同时可能尝试减轻或修复症状并处理抱怨的用户/顾客。

tcpdump和wireshark的答案没有错,它们可能是您工具包中至关重要的部分。但是除非您不确定它实际上是网络,否则它们不应该是您所追求的第一件事。


0

网络速度慢是普遍现象。网络速度慢可能是由多种原因引起的。对慢速网络进行故障排除是日常网络管理中最常见且最麻烦的工作之一。

根据分析,网络缓慢的主要原因是:

Loopback
Broadcast/Multicast storm
Virus attack
Server slow response
Too many clients
Application slow response
Error client mask

我们如何快速找出造成网络缓慢的原因?使用网络分析仪(Ax3soft Unicorn,wireshark等)捕获和分析数据包是一个好主意。

您还阅读了“查找网络缓慢的原因”的文章,单击URL(http://www.ids-sax2.com//Unicorn/Tutorials/Find-Reasons-for-Slow-Network-with-Ax3soft-Unicorn .htm)进行访问。

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.