模拟大量设备并发上线,怎么设计?(网络/系统编程高手请进!)

thebeginner 2011-10-28 08:33:06
RT!IP设备大量上线,测试服务器压力。(安防项目)
目前服务器端已经设计完毕(额,这个不是自己搞的,底层ACE架构做的)。当前俺的任务是做一个MFC的客户端,模拟大量设备同时并发(TCP)连接服务器,想不出很好的方式。
基本的思路应该是起线程,比如有10000台设备同时上线,那么问题是起多少线程合适?比如起100个线程里面进行100次for循环TCP非阻塞连接,那理论上也只能说只有100台同时登陆的,而且我试过了基本上一开连接就CPU就100%,而且还时不时的异常(1000台设备就不会异常,应该没有明显的线程同步问题,毕竟变量全是局部的或new出来的,当然也不敢保证,都是在ACE的底层异常的,实在看不懂)。

哪位大侠略指点一二?感激不尽!
...全文
272 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
程序员小迷 2012-02-04
  • 打赏
  • 举报
回复
不是很多测试工具都可以模拟压力测试吗
小乖狗 2011-12-18
  • 打赏
  • 举报
回复
可以尝试一下压力测试的工具,例如loadrunner。
Kevin_Perkins 2011-12-09
  • 打赏
  • 举报
回复
搞几个个vector<SOCKET>,分别创建几千个Socket,用几个线程轮流发送数据。
thebeginner 2011-10-28
  • 打赏
  • 举报
回复
你说的这是服务器端的设计吧?针对大量并发的客户端连接,服务器端用完成端口管理多个连接。

但是, 我说的是怎么在一个客户端进程中,模拟大量的设备同时去连接服务器,主要目的是一个进程中,模拟N路并发(同时),创建socket连接并发送登陆消息。
nuomitutu 2011-10-28
  • 打赏
  • 举报
回复
使用完成端口模型管理线程池, 理论上最优线程数为CPU数目*2

5,530

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 模式及实现
社区管理员
  • 模式及实现社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧