请教大牛:5万高频、高并发、活跃连接,数据接收服务程序模型?

tonforce 2015-06-15 12:31:15
各大牛,请教了!
描述如下:
1. 全国各地5万台终端监测设备,其中1万台以每秒10条数据发送至服务端,剩下以每秒1条数据发送至服务端,数据大小均小于400字节,结构数据,服务端只进行数据的接收、保存。

2. 服务端准备采用一台接收服务器进行接收数据,保存在oracle,然后另一台应用服务器数据库与接收服务器数据库同步。

请教:自己曾了解过epoll模型,没条件进行实测,想请教有相关经验的大牛:epoll模型能否承担以上工作?如果不能承担用哪种模型比较切合主题?

分可追加,以上多谢!

...全文
337 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tonforce 2015-06-17
  • 打赏
  • 举报
回复
引用 5 楼 JiangWenjie2014 的回复:
400 * (10000 * 10 + 40000 * 1) = 56000000 Byte/sec = 53.4MB/s (= 448MiB/s) 带宽有0.45GiB/s,一天下来至少要存储4.4TB的数据。像这种每个连接都很活跃,单个服务器接收应该是撑不住,况且还要写到数据库。类似的问题赵老师好像回答过吧。
================================================================== 谢谢您的回复! 是的,赵老师曾经指教过,以上的数字5万台设备每秒的最大量,我通常是把实际数据量增加2倍来计算。也就是说 实际每秒传输数据不超过30MB,但即使是30MB/s,对IO也是个考验,在网络带宽足够的情况下这个可以增加服务器来解决, 或者把全国分区,设立一级服务点来解决。 现在是不确定服务程序接收的模型,查了不少资料,也写过一些代码来测试epoll模型,效果也基本达到这么高的并发量, 但测试环境与今后的生产环境不一致,心里没底,所以才想请教有过类似经验的大牛,比如说各环节细节上的一些考虑, 提前多充分认识,对以后的工作会理解透彻些。
jiqiang01234 2015-06-16
  • 打赏
  • 举报
回复
直接用现成的网络库
tonforce 2015-06-16
  • 打赏
  • 举报
回复
引用 2 楼 lixin_4055 的回复:
epoll应该是最佳选择。5w连接是可以的,但是要修改系统配置,把可以打开的文件上限调大一些,超过5W即可
谢谢“lixin_4055” 的回复!
JiangWenjie2014 2015-06-16
  • 打赏
  • 举报
回复
400 * (10000 * 10 + 40000 * 1) = 56000000 Byte/sec = 53.4MB/s (= 448MiB/s) 带宽有0.45GiB/s,一天下来至少要存储4.4TB的数据。像这种每个连接都很活跃,单个服务器接收应该是撑不住,况且还要写到数据库。类似的问题赵老师好像回答过吧。
tonforce 2015-06-15
  • 打赏
  • 举报
回复
追加描述: 3. 这些数据发送终端全部为活跃终端,也就是说一旦连接后就一直发送数据,直至机器故障等因素中断发送动作。
lixin_4055 2015-06-15
  • 打赏
  • 举报
回复
epoll应该是最佳选择。5w连接是可以的,但是要修改系统配置,把可以打开的文件上限调大一些,超过5W即可

5,530

社区成员

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

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