首页 新闻 会员 周边

TCP连接的压力测试怎么写

0
悬赏园豆:10 [已解决问题] 解决于 2017-12-12 11:30

最近写了一个TCP的项目,简单描述一下过程,就是客户端向服务端发送TCP连接,然后建立连接。还有就是,这里我希望进行一下压力测试,就是模拟很多客户端不断的连接服务端,当我开启多线程跑起来后,发现我的服务端只被连接了一次。这是怎么了?我应该如何进行TCP的压力测试?

HDWK的主页 HDWK | 初学一级 | 园豆:152
提问于:2017-12-08 14:48
< >
分享
最佳答案
0

如果连接的时候,使用默认的提供的本地地址和端口,那么后面的连接将会重置前面的连接。套接字,在连接的时候,手动修改本地的地址和端口,那么就可以模拟多个客户端了。

HDWK | 初学一级 |园豆:152 | 2017-12-12 11:29
其他回答(1)
0

你的“很多客户端不断”,是怎么样地不短地进行的?

是所有并发去连接,然后work,并且不关闭?

是逐个去连接,然后关闭?

实际的并发测试 —— 并发程度都不太高,因为单机cpu片的因素;

你测个大概可以这么写

for(<2000)

  异步连接,并且工作,不关闭

 

然后打开cmd,for /l %a in (1,1,??) do @(你的程序)

收获园豆:10
花飘水流兮 | 园豆:13560 (专家六级) | 2017-12-08 17:12

注意第一个for是代码;

打开cmd后的for是dos命令;

支持(0) 反对(0) 花飘水流兮 | 园豆:13560 (专家六级) | 2017-12-08 17:13

@花飘水流兮: 我是希望可以模拟N个客户端,去连接。而不是依次去连接。

支持(0) 反对(0) HDWK | 园豆:152 (初学一级) | 2017-12-08 17:21

@HDWK: 在很多情况下,只有接近,没有绝对得并发。如果你想接近现实,你的代价都很大,网关你要不要解决,多个cpu(主机)要不要解决。

为什么一定要解决网络 —— 几乎所有得长距离传输都是串行的(并口设备很少)。管你cpu多少核,最终走一个网关出去,你还不是排队串行。

支持(0) 反对(0) 花飘水流兮 | 园豆:13560 (专家六级) | 2017-12-08 17:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册