1

我试图想出一种方法来负载测试以下架构:

我们有一个应用服务器,它从多个服务器上接收数据,这些服务器上有数据收集代理。

但是,我们的测试环境只有一个带有代理的服务器,我们希望模拟从同一服务器传出到应用程序服务器的多个 (100) 连接。

我已经为代理机器上的 NIS 卡分配了广泛的 IP,但是我无法找到一种方法来使从机器到应用服务器的每个传出连接都使用不同的 IP,从而打开一个新的连接。

我知道在遇到此问题时,对 HTTP 协议的 Web 测试可以轻松使用虚拟用户和 IP 欺骗工具,但由于代理服务器连接使用 TCP - 我找不到任何能够实现此功能的工具。

我还考虑过可能通过代码编辑每个数据包,并每次用不同的 IP 替换它的标头 - 但这种方法似乎太令人费解且不切实际,因为它会使每个请求延迟太久以使负载测试相关。

欢迎任何想法和解决方案!

提前致谢 :)

4

2 回答 2

0

您可以使用 winpcap 或其 .net 包装器 pcap.Net ( http://pcapdotnet.codeplex.com/ ) 来完全控制发送的 IP/TCP 数据包。

于 2013-08-27T08:29:55.560 回答
0

Socket.Bind您可以在连接服务器之前使用设置IP地址。

它在这里描述:http: //msdn.microsoft.com/en-us/library/system.net.sockets.socket.localendpoint (v=vs.100).aspx

于 2013-04-11T14:56:43.887 回答