解决“慢”networking问题

我们都抱怨说,“networking”在某些时候是“慢”的:可能是本地化到一个房间(交换机)或一台电脑,可能只是因特网(DNS?浏览器问题?),可能只是一个应用程序(长时间运行的SQL查询?AV扫描正在运行?)。

当你排除了明显的系统和/或应用程序问题时,你如何去testing一个networking缓慢或不稳定的行为? 你在OSI层上工作吗? 如果是这样,怎么去检查每一层? 你做什么来确保物理networking在未知的环境下是好的? 太多的广播或广播风暴呢? 第3层和以上? 路由跟踪? 任何其他的提示,方法,想法? 对于所有规模的networking必须具备的function和工具(端口镜像,SNMP,监控等)?

tcpdump和wireshark是你的朋友。

我发现在“慢”networking与“好”networking的networking上观看数据包通常是一个问题。

有很多types的“慢”。

您可以使用SmokePing等工具来跟踪本地和互联网网站的延迟。 (可以将SmokePingconfiguration为跟踪ICMP延迟以及TCP服务的服务延迟)

您的交换机应跟踪广播数据包与单播数据包。 图表比例。

我也喜欢监视路由跟踪(检查我自己“重要”站点之间的ISP跳数的域名)。

我希望这些评论有帮助。

很难给出具体的答案,因为这项工作的90%是经验,教你在哪里寻找哪种types的问题,另外90%是知道在哪里看谷歌从哪里开始暗示。

我通常会尝试纸袋,例如让客户展示问题(主要是排除手指问题以及客户可能描述问题的任何问题),然后尝试在另一台计算机上复制问题。 这样做通常会让您了解到哪里寻找。

不要忘记重新启动的纠正问题,特别是对于Windows系统,即使在今天。 它曾经是如此之多,我会问人们:“你重新启动了吗?试试吧,让我知道如果问题仍然存在” – 这确定了我被问到的很大一部分问题。

在DNSparsing问题和基本连接(路由器上的ACL,networking中的空隙,到远程站点的ping / traceroutes / mt等等)中,经常也是低贱的成果。

对于直接控制的服务,运行nagios或其他东西以确保服务实际运行可能会经常触发您在客户告诉您之前解决问题。 你可能也想运行统计数据收集,直接通过munin或者其他东西,或者通过SNMP来处理像Cacti。

我通常会尝试让Cacti至less在所有的核心交换机和防火墙上运行; 在可能的情况下,我运行仙人掌,尽我所能。 在这些情况下,我通常会查找端口错误计数或stream量过多等情况。 某些设备的防火墙图可以显示CPU使用率和并发会话; 您将了解到防火墙设备开始出现问题的阈值。

您的防火墙可能能够login到系统日志设备; 如果是这样,logging一切你可以通过提示来看看。 如果你运行诸如syslog-ng或者rsyslog或splunk之类的东西,可以让你更轻松地分割你的日志,而不是处理一个单一的文件。

我也试着至less在我的防火墙内部运行nfsen,并且在可能的情况下上传到互联网提供商。 这可以让你回头看看会议,看看谁在做什么; 这有时可以吸引有趣的行为。

这里有几个有用的工具来解决延迟和其他networking问题:

  • OSI模式 l – 从底部开始,继续工作
  • ping – 检查你的RTT(即延迟)
  • HTTP ping – 如果您的防火墙阻止了正常的ICMP,则使用有效
  • ping -r 9 – 用于识别非对称路由情况
  • traceroute – 我的数据包如何到达那里以及路由器如何响应? 请注意,路由器通常以低优先级处理这些数据包,所以真正的性能可能会更好。
  • Wireshark – 需要一些专业知识,但是不能低得多
  • SpeedGuide.net TCP / IP分析器 – 检查您的PC的TCP设置
  • SG TCP Optimizer – (仅适用于Windows)提供了优化网卡设置的方法
  • IP鸡 – 你的源(非NAT)IP地址是什么?
  • http://downforeveryoneorjustme.com/ – 也许你…
  • 带宽速度testing – 检查您的下载/上传速度
  • networking工具 – 从networking外部运行工具/testing
  • 检查您的networking端口的错误/ CRC的/等。 –
  • 检查您的networking是否过度使用(带宽监视器)和广播风暴
  • 检查单播泛滥 – 使用wireshark和监视器的单播stream量不是为您的工作站。
  • validation您的生成树根桥是否正确放置

如果你正在运行一个无线networking,那么频繁的减速就是信道干扰。 在一个地区的一堆SSID真的可以减慢networkingstream量。 (想想:在WWDC'10的iPhone 4的演示)。

如果使用能够向您显示该地区无线stream量模式的软件,则解决此问题相当简单。 在http://meraki.com/tools/stumbler上有一个很好的免费和基于Web的。 (披露:我为Meraki工作)

为了减less干扰,最好在通道1,6或11上。使用5GHz频率的802.11n设备也可以提供帮助。

我总是从使用Cacti监视第2层的东西开始。 这将为您提供大量的数据,您可以使用这些数据来查找模式,并且可以比较您的Cacti图表,当一切正常运行时,与用户看到缓慢时。

它可能不会find确切的问题,但它会给你一个很好的起点,以帮助缩小问题。

我从最外层的路由器开始工作,然后以最原始的方式衡量性能:使用一个带宽testing站点,或者一个已知的外部FTP站点,它会给你上传/下载的速度,并继续下去,直到你find问题所在的级别。

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

您还需要了解您的服务器和桌面/客户端环境,而不是简单地假设用户说“networking很慢”时是正确的。 您需要有条不紊地解决每个问题 – 正如其他人所说的,您应该首先能够查看并理想地重现错误,然后以适合该情况的方式进行工作。

在networking和服务器上进行良好的pipe理和监控可以为您节省大量的时间,但是,因为您不想在飞行中想办法使用仪器,同时也可能试图减轻或修复症状,并处理抱怨的用户/顾客。

tcpdump和wireshark的答案没有错,那些可以是你的工具包的重要组成部分。 但是,除非你确定它确实是networking,否则它们不应该是你首先要做的事情。

networking速度慢是一个普遍的现象。 networking速度慢可能是由许多因素造成的。 排除慢速networking故障是日常networkingpipe理中最常见也最麻烦的工作之一。

据分析,networking速度慢的主要原因是:

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

我们如何才能快速找出networking发生缓慢的原因? 使用networking分析器(Ax3soft Unicorn,wireshark等)捕获和分析数据包是一个好主意。

您还可以阅读文章“查找慢速networking的原因”,单击URL( http://www.ids-sax2.com//Unicorn/Tutorials/Find-Reasons-for-Slow-Network-with-Ax3soft-Unicorn .htm )访问它。