压力testing网关的速度?

我有兴趣testing我的网关服务器的压力,但是如何失败。 我所见过的大多数压力testing应用程序只能看到像Apache这样的应用程序能够处理多less应用程序,而不是这样。

从本质上讲,我想用一台计算机在一张卡上发送尽可能多的数据包,然后查看另一台计算机上有多less个数据包,以便了解可以处理的负载types。 我也很感兴趣,Snort会如何performance。 我不确定如何做到这一点。

你可以推荐哪些工具可以做到这一点?

如果你只是在做原始的TCP / UDP数据包(networkingtesting),我会看看iperf 。 它支持UDP和TCP。

你在网关的两端设置它,一个将作为客户端,另一个作为服务器。

最简单的压力testing使用netcat。 这只是stream量而已。 如果你想强调打开和closures连接的速度,你需要别的东西。

无论如何

在网关的每一边设置两个linux盒子(A&B)。 在A上,启动一个服务于零的netcat服务器:

nc -l -p 1234 < /dev/zero 

在B上,也使用netcat连接到A,并将零抛出到/ dev / null

 nc 192.168.1.1 1234 > /dev/null 

您可以使用iptraf来监视A或B或网关上的连接速度。 您也可以使用像读速率这样的工具来监视零传输的速度(这是数据传输速度,这是连接速度减去ethernet / ip / tcp标头)

在A上

 $ nc -l -p 1234 < /dev/zero 

B上

 $ nc 192.168.1.1 1234 | ./readspeed 61710848 octets en 0:02:03 = 74504 ko/s (75121 ko/s avg) 

(这是我的笔记本电脑和我的服务器之间通过千兆链路的速度)。

FreeBSD和Linux在内核中都有数据包生成器。 这是非常高的速度。 FreeBSD有ng_source节点来生成数据包。 Linux有pktgen 。 但比用户空间应用程序更难使用。

我推荐Mausezahn 。 它非常灵活,速度很快。