DCHP 和路由器负载测试

DCHP 和路由器负载测试

我管理着一个露营地的 wifi 网络,平均有 10 - 60 个活跃用户。我遇到过路由器开始出现问题(无法分配 DHCP 或无法传输流量)而没有任何明确警告(CPU 利用率低等)。我升级了几次路由器,最后得到了一个 Netgear ProSafe VPN 路由器,它似乎可以处理流量。有趣的是,Netgear 的规格低于它所取代的 Buffalo 路由器,这表明问题出在 DD-WRT 固件上。虽然我会在 dd-wrt ​​论坛上研究这个问题,但我需要一种方法来测试路由器。

我的设想是让 1-2 台计算机连接到 LAN 端,让 1-2 台计算机连接到 WAN 端。我希望 LAN 计算机能够生成各种类型的流量和连接,并请求 DCHP 地址。

几点说明:

  • 无线方面应该不是问题。大多数客户端会连接到无线网桥并通过网线进入路由器。
  • 我有一台装有 Nagios 的监控服务器,用于对路由器运行 check_dhcp。该服务器通过网线直接连接,无需使用 wifi 桥接器和其他设备。
  • 这个问题有些相关,但不完全相关:负载测试无线局域网 我要去看看 IxChariot。
  • 虽然我理想情况下希望在每一侧使用一台运行 Linux 且最好是免费软件的计算机,但我也可以考虑运行 Windows、多台计算机或非免费软件。
  • 总带宽似乎不是问题。我可以整天传输大文件。即使在最繁忙的日子里,用户似乎也只能传输约 5Mbps。“LAN 到 LAN 流量”很少,而且大多数流量可能从未到达主路由器。
  • 我需要测试的问题似乎与活跃用户或更确切地说与活跃会话有关。
  • 我知道从路由器的角度来看活跃用户或活跃客户端是一个毫无意义的术语,并且不介意使用更合适的术语。

摘要:我需要一种方法来测试路由器处理大量客户端流量的能力。我目前的策略是购买路由器,部署它,然后查看它在实际环境中的故障​​情况。

答案1

我的建议是不要使用廉价的消费者甚至更昂贵的“小型企业”路由器/NAT 设备。就性能、可靠性、功能和易用性而言,我接触到的每一款设备都非常令人失望。这些设备通常具有非常小的 RAM 量,当加载超过非常适量的流量时,通常会耗尽 RAM(导致 DHCP 问题,如您所解释的那样)或耗尽其状态跟踪表中的可用空间(导致路由器拒绝任何新的网络流,直到旧状态条目超时)。

您应该考虑构建基于 PFSense 的路由器。PFSense 是基于 FreeBSD 的路由发行版。它可以在具有两个网卡的备用 PC 上运行,或者更理想的情况下,在小型低功耗嵌入式计算机上运行。

我首选的 PFSense 主板是 ALIX2d3。此板可以购买作为套件以及外壳、电源和 CF 卡,价格略高于 190 美元。安装过程非常简单,在PFSense 网站

安装后,您将使用 Web GUI 进行其余配置和维护。您会发现 PFSense 不仅性能更佳,而且比市售产品更可靠、功能更丰富。


直接回答你关于负载测试的问题:它可能不值得你花时间。以有意义的方式对这类事情进行负载测试非常不简单。在能够正确进行负载测试之前,你需要在遇到问题时分析流量模式,然后使用某种方法生成这些类型的流量模式。仅仅通过路由器拖拽一堆数据,甚至在设备上运行 http 负载测试器是不够的。你需要用模拟你的流量来测试它真实的加载。正是由于这个原因,我之前提到过,它可能不值得你花时间。

要么升级到高质量(即昂贵)的路由器,要么使用 PFSense 做我上面概述的事情。

答案2

对于大多数路由器上的默认 DHCP 设置,60 个活跃用户可能有点多。对于这样的设置,请确保您的 DHCP 池远大于 60。您可能希望将 DHCP 范围设置为从 100 开始并允许 149 个地址。将租约时间设置为少于一天可能有助于从未打开的计算机重新获取地址。

我预计 60 个活跃用户在任何时候都会产生远多于 60 个活跃网络连接(会话)。连接不再使用后需要几分钟才能关闭。

您应该能够使用大多数负载测试软件测试连接能力。这应该可以让您了解几分钟内可能有多少个连接。您可以通过在相对较短的时间内创建大量新连接来练习状态跟踪表。一旦您停止获取连接,您就会知道限制是什么。

另一个可能引发问题的地方是路由器上的 DNS 缓存。通过查找大量不同的域进行负载测试可以让你了解这是否是问题所在。

我不知道有什么软件可以测试 DHCP 容量。我会查看一段时间内的租约计数(可从租约数据库中获取)。只要它保持在容量的 80% 以下,您在这方面应该没问题。

增加 DHCP 池的大小时,请确保从 1 以上开始(通常是路由器地址)。同时,请将大小和起点的总和保持在 255 以下。使用质数作为池的大小可能会获得更好的结果。

您可以实施许多开源解决方案。配置 DNS 缓存服务器和 Web 代理可能有助于减轻负载。

编辑:您可能遇到的一个问题是网络饱和。如果您可以访问路由器接口的错误计数器,您可能会看到错误率增加的一些迹象。

最近我看到一些报告称,较新的商用路由器会排队大量数据包,从而导致问题。这可能会导致突发性能问题。据报道,将负载流量调整到低于 ISP 可用带宽会有所帮助。您的低规格路由器可能会无意中进行一些流量调整。

答案3

大约两周前,我在一家健身俱乐部看到了类似的问题。解决方案是尽可能扩大 DHCP 范围,并将 DHCP 租约时间改为 1 小时。

答案4

我的意见是,你应该停止使用不受支持的第三方固件“破解”你的路由器,而是使用制造商提供的固件进行负载测试。除非你使用出厂时附带的固件进行测试,否则你不可能知道问题是路由器还是固件。

相关内容