如何测试应用程序如何处理数千个 TCP 连接?

Fab*_*ian 2 tcp stress-testing

我们正在尝试找出客户在向我们的网关注入大量邮件时遇到的问题,并且在该过程中的某个地方,他的连接被拒绝。不幸的是,除此之外,客户端没有提供太多有用的数据,除了他似乎没有收到 SYN ACK 消息。

我们希望对我们的服务进行一些测试,并确定它在阻塞之前可以建立多少个 TCP 连接(以及稍后我们可以注入的消息)。是否有任何实用程序可用于与目标建立数千个同时 TCP 连接?不需要有效负载。

理想情况下,该工具将为我们提供它能够建立的连接数量或速度等的概要。

任何想法都受到高度赞赏!

Ben*_*ani 5

您可以用来hping生成流量。但您最好尝试实际复制现实世界的负载。

hping例子

将 TCP SYN 数据包发送到主机 example.com 上的端口 0(请注意,对于每个发送的数据包,hping 都会将源端口增加 1):

hping example.com -S -V

将 TCP SYN 数据包发送到主机 example.com 上的端口 443:

hping example.com -S -V -p 443

将 TCP 数据包发送到主机 example.com 上的端口 443,并设置 SYN + ACK 标志:

hping example.com -S -A -V -p 443

将 TCP 数据包发送到主机 example.com 上的端口 443,并设置 SYN + ACK + FIN 标志:

hping example.com -S -A -F -V -p 443

每 5 秒向主机 example.com 上的端口 443 发送一次 TCP SYN 数据包:

hping example.com -S -V -p 443 -i 5

每 100,000 微秒(即每 0.1 秒或每秒 10 个)向主机 example.com 上的端口 443 发送一次 TCP SYN 数据包。请注意,详细信息已被删除:

hping example.com -S -p 443 -i u100000

每 10,000 微秒(即每 0.01 秒或每秒 100 个)发送 TCP SYN 数据包到主机 example.com 上的端口 443:

hping example.com -S -p 443 -i u10000

每 10,000 微秒(即每 0.01 秒或每秒 100 个)向主机 example.com 上的端口 443 发送一次 TCP SYN 数据包。500 个数据包后停止:

hping example.com -S -p 443 -i u10000 -c 500