CentOS 7 可以保持 10万个TCP长连接吗?

小灰狼 2015-11-12 11:41:56
一个 Java 应用程序,用于监听终端的信息
由于随时都可能通过服务器发送命令给终端,因此要求服务器与终端之间保持TCP长连接

但是一台CentOS7的服务器,可以保持超过10万个的TCP长连接吗?
100万呢?

...全文
1069 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
小灰狼 2015-11-24
  • 打赏
  • 举报
回复
刚看了一下TCP、IP方面的文章 说到一个TCP端口使用两个字节表示,双字节符号数最大是65535,再去掉一些不能用的端口,可能也就是这个数量级了,乐观估计一下,60000个?
MagicFuzzX 2015-11-23
  • 打赏
  • 举报
回复
引用 16 楼 Idle_Cloud 的回复:
这么问题怎么还讨论这么多呢。肯定能支持10万,100万TCP长连接啊。 楼主搜索C100K, C1000K问题。
确实牛逼
Netmark 2015-11-21
  • 打赏
  • 举报
回复
可以 没有问题
zengxiabao 2015-11-21
  • 打赏
  • 举报
回复
第一次来到论坛,接楼主地盘进行第一次发言:谢谢。
Carl_CCC 2015-11-21
  • 打赏
  • 举报
回复
这么问题怎么还讨论这么多呢。肯定能支持10万,100万TCP长连接啊。 楼主搜索C100K, C1000K问题。
yangxingmeng 2015-11-21
  • 打赏
  • 举报
回复
引用 14 楼 looklzg1108 的回复:
可靠性传输 和 采用TCP还是UDP本身是没有关系的。 心跳:TCP和UDP都需要用业务来实现心跳,需要发送心跳包。 丢包,乱序: 没法送一个包都需要收到对方的应答,不管TCP还是UDP都没法保证数据可以到达对方,并且对方是否收到。
没法送一个包都需要收到对方的应答,不管TCP还是UDP都没法保证数据可以到达对方,并且对方是否收到。 你既然这样说,那还不如采用tcp,由系统保证其可靠性,而且系统能做到的更多,每次发送的窗口大小,数据校件等, 个人感觉支持10万并发是肯定能实现的,这个和内存的大小密切相关, 合适不合适这和你系统要求的响应时间是密切相关的
小灰狼 2015-11-20
  • 打赏
  • 举报
回复
引用 8 楼 looklzg1108 的回复:
[quote=引用 7 楼 hemowolf 的回复:] [quote=引用 6 楼 looklzg1108 的回复:] 由于随时都可能通过服务器发送命令给终端,因此要求服务器与终端之间保持TCP长连接 为何就 需要TCP呢? 十万个客户端,你可以参考下QQ,QQ用的就是UPD模式。
那个实现起来比较复杂,哥哥[/quote] UDP和TCP,只是接受和发送有区别而已,你稍微封装下,上层业务调用其实是一致的。 现在大并发的基本没有用TCP的了。 [/quote] 照您的建议看了一些资料,想把UDP变成可靠的传输,还真不是简单地封装一下就可以了的,想达到可靠,要考虑的东西太多,实现起来风险很大
looklzg1108 2015-11-20
  • 打赏
  • 举报
回复
可靠性传输 和 采用TCP还是UDP本身是没有关系的。
心跳:TCP和UDP都需要用业务来实现心跳,需要发送心跳包。
丢包,乱序: 没法送一个包都需要收到对方的应答,不管TCP还是UDP都没法保证数据可以到达对方,并且对方是否收到。
a1583850246 2015-11-19
  • 打赏
  • 举报
回复
觉得主要是看硬件性能吧
小灰狼 2015-11-18
  • 打赏
  • 举报
回复
自己再UP一下
looklzg1108 2015-11-17
  • 打赏
  • 举报
回复
引用 7 楼 hemowolf 的回复:
[quote=引用 6 楼 looklzg1108 的回复:]
由于随时都可能通过服务器发送命令给终端,因此要求服务器与终端之间保持TCP长连接

为何就 需要TCP呢?
十万个客户端,你可以参考下QQ,QQ用的就是UPD模式。


那个实现起来比较复杂,哥哥[/quote]

UDP和TCP,只是接受和发送有区别而已,你稍微封装下,上层业务调用其实是一致的。
现在大并发的基本没有用TCP的了。
looklzg1108 2015-11-17
  • 打赏
  • 举报
回复
监控行业,某公司平台 每个前端接入模块 接入前端(摄像头)上限是2000各,可支持TCP接入,可支持UDP接入,并且都有实际应用。需要更多的前端,则需要部署更多的接入模块。

select 默认是1024,poll和epoll理论没有上限,和机器硬件有关。

以上仅供参考了,是我现实中遇到的实际情况。
小灰狼 2015-11-17
  • 打赏
  • 举报
回复
引用 8 楼 looklzg1108 的回复:
[quote=引用 7 楼 hemowolf 的回复:] [quote=引用 6 楼 looklzg1108 的回复:] 由于随时都可能通过服务器发送命令给终端,因此要求服务器与终端之间保持TCP长连接 为何就 需要TCP呢? 十万个客户端,你可以参考下QQ,QQ用的就是UPD模式。
那个实现起来比较复杂,哥哥[/quote] UDP和TCP,只是接受和发送有区别而已,你稍微封装下,上层业务调用其实是一致的。 现在大并发的基本没有用TCP的了。 [/quote] 协议不可能改了的,终端和服务端的程序已经全部开发完成,特别是终端上的程序 之前开发的东西,只限于在一个局部地区用,现在准备把规模扩大,扩展到全国 一台服务器搞不定就加服务器,服务端程序可以改,毕竟只要在服务器上重新部署即可,但要到全国去更新终端程序,光路费就不知道要花多少。 不要考虑什么让终端自动到服务器上升级之类的方案,为了省成本,很多型号的终端硬件配置很差,基本上做不了这个功能
小灰狼 2015-11-16
  • 打赏
  • 举报
回复
引用 6 楼 looklzg1108 的回复:
由于随时都可能通过服务器发送命令给终端,因此要求服务器与终端之间保持TCP长连接 为何就 需要TCP呢? 十万个客户端,你可以参考下QQ,QQ用的就是UPD模式。
那个实现起来比较复杂,哥哥
looklzg1108 2015-11-16
  • 打赏
  • 举报
回复
由于随时都可能通过服务器发送命令给终端,因此要求服务器与终端之间保持TCP长连接

为何就 需要TCP呢?
十万个客户端,你可以参考下QQ,QQ用的就是UPD模式。
小灰狼 2015-11-16
  • 打赏
  • 举报
回复
引用 4 楼 jiqiang01234 的回复:
光说操作系统没用,主要是看硬件性能
服务器配置高就可以支持吗?
jiqiang01234 2015-11-13
  • 打赏
  • 举报
回复
光说操作系统没用,主要是看硬件性能
小灰狼 2015-11-13
  • 打赏
  • 举报
回复
自己up一下下
皇御雷霆 2015-11-12
  • 打赏
  • 举报
回复
服务器的性能 不是看装什么操作系统
小灰狼 2015-11-12
  • 打赏
  • 举报
回复
引用 1 楼 fan63182830 的回复:
服务器的性能 不是看装什么操作系统
服务器性能好的话,就支持吗?

23,118

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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