2018-08-02 19:33

引用来自“zcy421593”的评论

更专业的角度看,长度+body确实有天生缺陷,就算限制缓冲区长度4k,假设有100W并发, 那么只要每个连接只发4k-1长度,最后一个字节都不发送,那不算收到完整消息,服务端就得保持缓存100W * (4K - 1)的数据,接近400G,可以瞬间把服务器打爆掉。面对客户端前端使用这种协议不科学。

    另外宣扬100w,30w没任何意义,随便c++搞个epoll,iocp在没有业务的情况下轻轻松松100W并发无压力,关键配上业务呢?数据库跟得上吗?

    io往往不是服务器性能的瓶颈,光提高io对整体性能的提高一点用都没有,最终的性能表现是各个服务器组件模块配合得出的最终效果。
还是了解一下tio在TFB上的数据吧,这个权威:https://my.oschina.net/talenttan/blog/1862599
2018-08-02 19:29

引用来自“zcy421593”的评论

更专业的角度看,长度+body确实有天生缺陷,就算限制缓冲区长度4k,假设有100W并发, 那么只要每个连接只发4k-1长度,最后一个字节都不发送,那不算收到完整消息,服务端就得保持缓存100W * (4K - 1)的数据,接近400G,可以瞬间把服务器打爆掉。面对客户端前端使用这种协议不科学。

    另外宣扬100w,30w没任何意义,随便c++搞个epoll,iocp在没有业务的情况下轻轻松松100W并发无压力,关键配上业务呢?数据库跟得上吗?

    io往往不是服务器性能的瓶颈,光提高io对整体性能的提高一点用都没有,最终的性能表现是各个服务器组件模块配合得出的最终效果。
不清楚拿“长度+body”和tio绑定在一起讨论是啥意思,tio支持所有基于tcp和udp的应用层协议,而不仅仅是“长度+body”

这些测试只针对io,并不涉及到数据库,如果这些只针对io的测试没用,那著名的TFB测试平台也没有存在的意义
2018-05-28 21:36

引用来自“nullref”的评论

tio宣称自己某某硬件参数指标下达到百万连接数,本人发过专门的质疑分析帖子。结论是,库的作者的测试数据仅供参考。

对于服务器端的人来说,长连重来都没有难过。难的是,要在各种复杂的网络环境下保持产品的质量。这远不是tio这种提供Java版tcp库所能达到的。各种产品,需要各自的策略来实现其纷纷不同的业务需求。

tio的作者还没有意识到商业化的库需要什么,商业需求是什么。很难挣钱的。老老实实去找一份工作,业余放GitHub慢慢折腾把。

引用来自“小菜鸡1”的评论

tio好像已经有好多商业项目了吧?
商业案例已经很多了,包括IM、游戏、监控、物联网、直播平台等,见:https://t-io.org/case/index.html

至于你回复的这位仁兄,可以参考这个(正文诚不错,评论更精彩):https://www.oschina.net/question/2617937_2243270
2018-05-28 21:27

引用来自“nullref”的评论

tio宣称自己某某硬件参数指标下达到百万连接数,本人发过专门的质疑分析帖子。结论是,库的作者的测试数据仅供参考。

对于服务器端的人来说,长连重来都没有难过。难的是,要在各种复杂的网络环境下保持产品的质量。这远不是tio这种提供Java版tcp库所能达到的。各种产品,需要各自的策略来实现其纷纷不同的业务需求。

tio的作者还没有意识到商业化的库需要什么,商业需求是什么。很难挣钱的。老老实实去找一份工作,业余放GitHub慢慢折腾把。
tio好像已经有好多商业项目了吧?
2018-05-28 20:18

引用来自“熊猫大侠到此一游”的评论

辛苦了! 这两天正在着手开发一个基于tio的物联网平台。
回复@熊猫大侠到此一游 : 活抓一只熊猫大侠,看你在码云上的留言,你应该非常熟悉tio的源代码了。
2018-05-28 16:42

引用来自“湮YM灭”的评论

Maven仓库里的jar 更新不下来???试了好几次都不行
都有的,自己检查一下环境:https://oss.sonatype.org/content/groups/public/org/t-io/tio-core/
2018-05-28 16:41

引用来自“乐乐杰”的评论

虽然这东西我没用过,但作者开源,就该给赞,做为搞技术的我们,有多少人在码农这条道路过真真创造过什么?又有多少人只是在抄别人的...所以我们要感谢这些真正搞技术的创造者们.....赞了.
原谅大家,毕竟对很多朋友来说,创造一样东西很难,点评一样东西很容易
2018-05-28 09:16

引用来自“InkFx”的评论

我比较好奇一件事:服务端端口可以只有一个,但是 每一个客户端也得开一个端口。
长链接 30W,一台计算机 65000 个端口(假设可以模拟65000个客户端)

楼主想测试 30W 长链接,就得 5 台电脑。【楼主电脑不够了?所以没有到 100W?】
你这么一说,看起来是很轻松惬意的,我来说一下测试步骤吧。
1、你得准备一台服务器和服务器端的代码
2、你得写好一份客户端程序代码用来测试,要保证服务器和客户端的应用层协议适配
3、你要准备好至少5台客户端机,然后装上jvm和客户端程序,默认情况下windows是没有6.5W+端口可以使用的,你得一台一台的配置一下客户端,使之可以使用6.5W+端口
4、好了,接下来你要开始做测试了:你要先开服务器程序,然后在各客户机上一个一个打开测试程序
5、观察各监控数据

好了,接下来,你尝试着去做一下这个测试。PS:客户机如果开6.5W+端口的话,基本上是干不了其它活的了,所以基本别指望你的同事可以兼职给你挂机测试。

我本人以前动用过公司11台机器,每个机器挂16000个端口,一共17.6W个连接,然后我时不时地发个群聊消息(注:我发一条消息,服务器要分发17.6W条消息,因为所有连接都在一个群),中途我的一个运维同事还恶搞过我这个服务器,时不时一口气发了几千群聊(1000 * 17.6W,这概念你自己想)的大消息,服务器除了会内存飙一下,没点事。

小结:有的事,说起来相当简单,但是请你试着照如上步骤去做做,要多少代价和精力
2018-05-26 06:49

引用来自“远方夕阳”的评论

支持楼主专研精神,不懂装懂,刚愎自用的程序猿太多了,楼主不必在意
没有真的介意,就是觉得他们挺有意思。尤其是那位连发几个评论骂t-io,最后以主动道歉收场,更是觉得可爱,是真的觉得可爱!

不过也发现某同学一年前对t-io的质疑到现在都没有动手去验证,这就有点懒了������
2018-05-25 23:05
支持楼主专研精神,不懂装懂,刚愎自用的程序猿太多了,楼主不必在意
2018-05-25 22:14
我只是来看评论的。
2018-05-25 21:02

引用来自“talent-tan”的评论

之所以改口30万,不是因为tio不支持百万级别,而是目前条件限制等因素,并没有测到100万,为了防止部分瓜众说tio玩扛杆,暂时改为30万

谢谢大家的支持!

引用来自“梦朝思夕”的评论

咨询一个问题,单机的端口只有65000多个,如何做到30万的长连接????

引用来自“talent-tan”的评论

支持再多的TCP长连接,服务器端只需要一个端口,是一个!

引用来自“梦朝思夕”的评论

回复@talent-tan : 这是我见过的最NB的解释了!

引用来自“开源中国-首席营养师”的评论

这解释我也挻服的,超级NB。

引用来自“talent-tan”的评论

本来随口一回,答案也没毛病,看到你们的回复,我竟然笑起来了,是我笑点低?������

引用来自“艾米”的评论

这位同学,你先别笑,再好好想想你的答案有没有毛病,我也是醉了 😅

引用来自“光的笔记”的评论

没看出这回复有什么问题,还请解释一二

引用来自“艾米”的评论

tcp/ip协议帧格式就决定了,当然我指的ipv4,tcp帧里的端口类型是uint16_t,即2的16次方减1个端口,我实在不明白t-io这位大神作者用了何种神功撸出了300K的tcp长连接,注意这哥们号称的长连接,难道是自己用java实现了一套传输协议层?

引用来自“talent-tan”的评论

在下对前辈渊博的知识真是佩服得五体投地,甘拜下风!@红薯 家的OSC真人才济济!😄😄😄

引用来自“艾米”的评论

好牛逼哦,好怕怕哦。别扯那些没用的,你说你能单机跑300K TCP长连接,linux下你就用netstat -nat|grep -i "port" |wc -l。把port替换成你的测试端口,截图发出来,欢迎打脸。否则请挖个洞钻进去,真特么不嫌丢人

引用来自“talent-tan”的评论

别啊,我真的认输了!是真心认输了!@红薯 能帮我撤回这条新闻吗?
OSC 文盲多,哥别生气
2018-05-25 20:59
下面一堆读死书,还有看了篇博客就来反对作者的可以歇歇了。
TCP协议四元组【srcip,srcport,destip,destport】都不知道么,TCP的端口数,最大值确实为65535。但是,这并不代表一个服务器可以接受的连接数就是这个值,很多人之所以把这两个概念搞混淆是因为对socket和port没有更深的认识和理解。服务器“端口号”这个重要的东西,我们只用了一次,就是执行bind的时候,srcip,srcport固定了,接下来就是destip×destport了。
所以30W连接并不是张口乱说,多几台客户端就来了。
2018-05-25 19:06

引用来自“nullref”的评论

tio宣称自己某某硬件参数指标下达到百万连接数,本人发过专门的质疑分析帖子。结论是,库的作者的测试数据仅供参考。

对于服务器端的人来说,长连重来都没有难过。难的是,要在各种复杂的网络环境下保持产品的质量。这远不是tio这种提供Java版tcp库所能达到的。各种产品,需要各自的策略来实现其纷纷不同的业务需求。

tio的作者还没有意识到商业化的库需要什么,商业需求是什么。很难挣钱的。老老实实去找一份工作,业余放GitHub慢慢折腾把。
阁下指的是下面这个?在下对阁下的关切深表谢意:https://www.oschina.net/question/2617937_2243270
2018-05-25 17:46

引用来自“开源中国-首席营养师”的评论

普及一下这个话题的tcp知识。
1.机子的端口 65535 个
2.tcp是连接好就保持住的,如果中断,会话结束。
3.作为服务方,监听的端口收到请求后,会“随机”打开本地的另一个端口,为与请求方建立连接

估计楼主想表达可以支持>30万个端使用tcp协议访问。这性能已经非常厉害了。
感谢楼主分享

引用来自“wanghuan5516”的评论

兄弟,3中的
会“随机”打开本地的另一个端口
这个说法不太对;
假设你说的对,当要打开第65536个端口的时候,服务端没法打开啊,这时候服务端会咋样?

引用来自“开源中国-首席营养师”的评论

开不了的,一对一的通信,满足不了要报错的。
打个比方:你的宽带只有10M,你一秒就发不了10M+一个字节的数据。

引用来自“PublicCMS”的评论

你确定不要去看下书 查下相关知识 继续坚持么

引用来自“开源中国-首席营养师”的评论

上干货
临时端口是客户端端口的另一种称呼,只有极少数服务才需要服务端开启临时端口 比如ftp的PASV模式
2018-05-25 17:40
😁 说得越多 知道真相后 越尴尬得啊 大兄弟
2018-05-25 17:36

引用来自“开源中国-首席营养师”的评论

普及一下这个话题的tcp知识。
1.机子的端口 65535 个
2.tcp是连接好就保持住的,如果中断,会话结束。
3.作为服务方,监听的端口收到请求后,会“随机”打开本地的另一个端口,为与请求方建立连接

估计楼主想表达可以支持>30万个端使用tcp协议访问。这性能已经非常厉害了。
感谢楼主分享

引用来自“wanghuan5516”的评论

兄弟,3中的
会“随机”打开本地的另一个端口
这个说法不太对;
假设你说的对,当要打开第65536个端口的时候,服务端没法打开啊,这时候服务端会咋样?

引用来自“开源中国-首席营养师”的评论

开不了的,一对一的通信,满足不了要报错的。
打个比方:你的宽带只有10M,你一秒就发不了10M+一个字节的数据。
你确定不要去看下书 查下相关知识 继续坚持么
2018-05-25 17:05

引用来自“开源中国-首席营养师”的评论

普及一下这个话题的tcp知识。
1.机子的端口 65535 个
2.tcp是连接好就保持住的,如果中断,会话结束。
3.作为服务方,监听的端口收到请求后,会“随机”打开本地的另一个端口,为与请求方建立连接

估计楼主想表达可以支持>30万个端使用tcp协议访问。这性能已经非常厉害了。
感谢楼主分享

引用来自“PublicCMS”的评论

你没分清客户端和服务端 服务端就是只占一个端口 和 多个句柄 客户端才需要申请临时端口 所以需要测试百万链接 需要很多客户端机器

引用来自“开源中国-首席营养师”的评论

无论客户端和服务端,都需要。有兴趣去看一下C版本的网络编程。
👍 抱着自己的谬论 还理直气壮 真是厉害 连你盟友都醒悟了
2018-05-25 15:43

引用来自“开源中国-首席营养师”的评论

普及一下这个话题的tcp知识。
1.机子的端口 65535 个
2.tcp是连接好就保持住的,如果中断,会话结束。
3.作为服务方,监听的端口收到请求后,会“随机”打开本地的另一个端口,为与请求方建立连接

估计楼主想表达可以支持>30万个端使用tcp协议访问。这性能已经非常厉害了。
感谢楼主分享
你没分清客户端和服务端 服务端就是只占一个端口 和 多个句柄 客户端才需要申请临时端口 所以需要测试百万链接 需要很多客户端机器
2018-05-25 15:36
简单的一个NIOSocket都可以百万啦。
2018-05-25 15:25

引用来自“placeholder”的评论

官网->文档-> t-io稳定性 -> 3、....用JVirsualVM监控出来的内存和CPU仍十分漂亮。
-------------------------------------
笔误,应该是JVisualVM。
收到,我回头检查一下,谢谢!
2018-05-25 15:25

引用来自“红薯”的评论

第 100 个评论来了。 tio 的 star 比 j2cache 多,我不服
J2Cache是一个两级缓存框架,它是真正的高性能缓存框架。
tio的两级缓存已经提供了对j2cache的支持!tio的缓存设计都在:org.tio.utils.cache包中

2018-05-25 15:14
第 100 个评论来了。 tio 的 star 比 j2cache 多,我不服
2018-05-25 14:57
官网->文档-> t-io稳定性 -> 3、....用JVirsualVM监控出来的内存和CPU仍十分漂亮。
-------------------------------------
笔误,应该是JVisualVM。
2018-05-25 14:40

引用来自“l_gang”的评论

这么多人有疑问,作者截个图 可否?
其实新闻中已经给出了测试报告地址,我再发一下:https://my.oschina.net/u/2369298/blog/915435
2018-05-25 14:37
这么多人有疑问,作者截个图 可否?
2018-05-25 14:28

引用来自“艾米”的评论

我的锅,理论上是可以实现的,我道歉

引用来自“汪纬”的评论

不能怂
我倒是觉得这是难能可贵!
2018-05-25 14:21

引用来自“艾米”的评论

我的锅,理论上是可以实现的,我道歉
人都有失误的时候,我一开始确实以为你是过来凑热闹搞笑的。失误不是什么大事,我觉得你这个认真的态度很可爱!
2018-05-25 14:18
#NutzWk# 蹭热点~~~
2018-05-25 14:17

引用来自“艾米”的评论

我的锅,理论上是可以实现的,我道歉
不能怂
2018-05-25 14:12

引用来自“艾米”的评论

我的锅,理论上是可以实现的,我道歉
谢谢!
2018-05-25 14:08
我的锅,理论上是可以实现的,我道歉
2018-05-25 14:03
普及一下这个话题的tcp知识。
1.机子的端口 65535 个
2.tcp是连接好就保持住的,如果中断,会话结束。
3.作为服务方,监听的端口收到请求后,会“随机”打开本地的另一个端口,为与请求方建立连接

估计楼主想表达可以支持>30万个端使用tcp协议访问。这性能已经非常厉害了。
感谢楼主分享
2018-05-25 13:27

引用来自“talent-tan”的评论

之所以改口30万,不是因为tio不支持百万级别,而是目前条件限制等因素,并没有测到100万,为了防止部分瓜众说tio玩扛杆,暂时改为30万

谢谢大家的支持!

引用来自“梦朝思夕”的评论

咨询一个问题,单机的端口只有65000多个,如何做到30万的长连接????

引用来自“talent-tan”的评论

支持再多的TCP长连接,服务器端只需要一个端口,是一个!

引用来自“梦朝思夕”的评论

回复@talent-tan : 这是我见过的最NB的解释了!

引用来自“开源中国-首席营养师”的评论

这解释我也挻服的,超级NB。

引用来自“talent-tan”的评论

本来随口一回,答案也没毛病,看到你们的回复,我竟然笑起来了,是我笑点低?������

引用来自“艾米”的评论

这位同学,你先别笑,再好好想想你的答案有没有毛病,我也是醉了 😅

引用来自“光的笔记”的评论

没看出这回复有什么问题,还请解释一二

引用来自“艾米”的评论

tcp/ip协议帧格式就决定了,当然我指的ipv4,tcp帧里的端口类型是uint16_t,即2的16次方减1个端口,我实在不明白t-io这位大神作者用了何种神功撸出了300K的tcp长连接,注意这哥们号称的长连接,难道是自己用java实现了一套传输协议层?

引用来自“talent-tan”的评论

在下对前辈渊博的知识真是佩服得五体投地,甘拜下风!@红薯 家的OSC真人才济济!😄😄😄

引用来自“风中静草”的评论

哦,没看出哪里有问题,虽然端口是有65535个(2的16次方减1个),可是t-io服务端是只要开一个啊,300K个客户端都连接向同一个服务端的同一个端口,这有什么逻辑错误吗?
@talent-tan 武兄,你从实招来,为何一个t-io的服务端能撑得住300K+个客户端同时暴虐?这个情况已经超出了部分人的认知范围了😏。
兄弟,我已经认输,刚刚已经打了101万给红薯让他撤回这条新闻!😄😄😄
2018-05-25 13:21

引用来自“talent-tan”的评论

之所以改口30万,不是因为tio不支持百万级别,而是目前条件限制等因素,并没有测到100万,为了防止部分瓜众说tio玩扛杆,暂时改为30万

谢谢大家的支持!

引用来自“梦朝思夕”的评论

咨询一个问题,单机的端口只有65000多个,如何做到30万的长连接????

引用来自“talent-tan”的评论

支持再多的TCP长连接,服务器端只需要一个端口,是一个!

引用来自“梦朝思夕”的评论

回复@talent-tan : 这是我见过的最NB的解释了!

引用来自“开源中国-首席营养师”的评论

这解释我也挻服的,超级NB。

引用来自“talent-tan”的评论

本来随口一回,答案也没毛病,看到你们的回复,我竟然笑起来了,是我笑点低?������

引用来自“艾米”的评论

这位同学,你先别笑,再好好想想你的答案有没有毛病,我也是醉了 😅

引用来自“光的笔记”的评论

没看出这回复有什么问题,还请解释一二

引用来自“艾米”的评论

tcp/ip协议帧格式就决定了,当然我指的ipv4,tcp帧里的端口类型是uint16_t,即2的16次方减1个端口,我实在不明白t-io这位大神作者用了何种神功撸出了300K的tcp长连接,注意这哥们号称的长连接,难道是自己用java实现了一套传输协议层?

引用来自“talent-tan”的评论

在下对前辈渊博的知识真是佩服得五体投地,甘拜下风!@红薯 家的OSC真人才济济!😄😄😄
哦,没看出哪里有问题,虽然端口是有65535个(2的16次方减1个),可是t-io服务端是只要开一个啊,300K个客户端都连接向同一个服务端的同一个端口,这有什么逻辑错误吗?
@talent-tan 武兄,你从实招来,为何一个t-io的服务端能撑得住300K+个客户端同时暴虐?这个情况已经超出了部分人的认知范围了😏。
2018-05-25 13:19

引用来自“talent-tan”的评论

之所以改口30万,不是因为tio不支持百万级别,而是目前条件限制等因素,并没有测到100万,为了防止部分瓜众说tio玩扛杆,暂时改为30万

谢谢大家的支持!

引用来自“梦朝思夕”的评论

咨询一个问题,单机的端口只有65000多个,如何做到30万的长连接????

引用来自“talent-tan”的评论

支持再多的TCP长连接,服务器端只需要一个端口,是一个!

引用来自“梦朝思夕”的评论

回复@talent-tan : 这是我见过的最NB的解释了!

引用来自“开源中国-首席营养师”的评论

这解释我也挻服的,超级NB。

引用来自“talent-tan”的评论

本来随口一回,答案也没毛病,看到你们的回复,我竟然笑起来了,是我笑点低?������

引用来自“艾米”的评论

这位同学,你先别笑,再好好想想你的答案有没有毛病,我也是醉了 😅

引用来自“光的笔记”的评论

没看出这回复有什么问题,还请解释一二

引用来自“艾米”的评论

tcp/ip协议帧格式就决定了,当然我指的ipv4,tcp帧里的端口类型是uint16_t,即2的16次方减1个端口,我实在不明白t-io这位大神作者用了何种神功撸出了300K的tcp长连接,注意这哥们号称的长连接,难道是自己用java实现了一套传输协议层?

引用来自“talent-tan”的评论

在下对前辈渊博的知识真是佩服得五体投地,甘拜下风!@红薯 家的OSC真人才济济!😄😄😄

引用来自“艾米”的评论

好牛逼哦,好怕怕哦。别扯那些没用的,你说你能单机跑300K TCP长连接,linux下你就用netstat -nat|grep -i "port" |wc -l。把port替换成你的测试端口,截图发出来,欢迎打脸。否则请挖个洞钻进去,真特么不嫌丢人
别啊,我真的认输了!是真心认输了!@红薯 能帮我撤回这条新闻吗?
2018-05-25 13:17

引用来自“talent-tan”的评论

之所以改口30万,不是因为tio不支持百万级别,而是目前条件限制等因素,并没有测到100万,为了防止部分瓜众说tio玩扛杆,暂时改为30万

谢谢大家的支持!

引用来自“梦朝思夕”的评论

咨询一个问题,单机的端口只有65000多个,如何做到30万的长连接????

引用来自“talent-tan”的评论

支持再多的TCP长连接,服务器端只需要一个端口,是一个!

引用来自“梦朝思夕”的评论

回复@talent-tan : 这是我见过的最NB的解释了!

引用来自“开源中国-首席营养师”的评论

这解释我也挻服的,超级NB。

引用来自“talent-tan”的评论

本来随口一回,答案也没毛病,看到你们的回复,我竟然笑起来了,是我笑点低?������

引用来自“艾米”的评论

这位同学,你先别笑,再好好想想你的答案有没有毛病,我也是醉了 😅

引用来自“光的笔记”的评论

没看出这回复有什么问题,还请解释一二

引用来自“艾米”的评论

tcp/ip协议帧格式就决定了,当然我指的ipv4,tcp帧里的端口类型是uint16_t,即2的16次方减1个端口,我实在不明白t-io这位大神作者用了何种神功撸出了300K的tcp长连接,注意这哥们号称的长连接,难道是自己用java实现了一套传输协议层?

引用来自“talent-tan”的评论

在下对前辈渊博的知识真是佩服得五体投地,甘拜下风!@红薯 家的OSC真人才济济!😄😄😄
好牛逼哦,好怕怕哦。别扯那些没用的,你说你能单机跑300K TCP长连接,linux下你就用netstat -nat|grep -i "port" |wc -l。把port替换成你的测试端口,截图发出来,欢迎打脸。否则请挖个洞钻进去,真特么不嫌丢人
2018-05-25 13:07

引用来自“talent-tan”的评论

之所以改口30万,不是因为tio不支持百万级别,而是目前条件限制等因素,并没有测到100万,为了防止部分瓜众说tio玩扛杆,暂时改为30万

谢谢大家的支持!

引用来自“梦朝思夕”的评论

咨询一个问题,单机的端口只有65000多个,如何做到30万的长连接????

引用来自“talent-tan”的评论

支持再多的TCP长连接,服务器端只需要一个端口,是一个!

引用来自“梦朝思夕”的评论

回复@talent-tan : 这是我见过的最NB的解释了!

引用来自“开源中国-首席营养师”的评论

这解释我也挻服的,超级NB。

引用来自“talent-tan”的评论

本来随口一回,答案也没毛病,看到你们的回复,我竟然笑起来了,是我笑点低?������

引用来自“艾米”的评论

这位同学,你先别笑,再好好想想你的答案有没有毛病,我也是醉了 😅

引用来自“光的笔记”的评论

没看出这回复有什么问题,还请解释一二

引用来自“艾米”的评论

还有从他说只需要一个端口这点来看,可知他的基础知识是多么差,哪怕不知道协议栈的工作原理,起码用socket自己写个简单的echo server吧?
在下对前辈渊博的知识真是佩服得五体投地,甘拜下风!@红薯 家的OSC真人才济济!😄😄😄
2018-05-25 13:04

引用来自“talent-tan”的评论

之所以改口30万,不是因为tio不支持百万级别,而是目前条件限制等因素,并没有测到100万,为了防止部分瓜众说tio玩扛杆,暂时改为30万

谢谢大家的支持!

引用来自“梦朝思夕”的评论

咨询一个问题,单机的端口只有65000多个,如何做到30万的长连接????

引用来自“talent-tan”的评论

支持再多的TCP长连接,服务器端只需要一个端口,是一个!

引用来自“梦朝思夕”的评论

回复@talent-tan : 这是我见过的最NB的解释了!

引用来自“开源中国-首席营养师”的评论

这解释我也挻服的,超级NB。

引用来自“talent-tan”的评论

本来随口一回,答案也没毛病,看到你们的回复,我竟然笑起来了,是我笑点低?������

引用来自“艾米”的评论

这位同学,你先别笑,再好好想想你的答案有没有毛病,我也是醉了 😅

引用来自“光的笔记”的评论

没看出这回复有什么问题,还请解释一二

引用来自“艾米”的评论

tcp/ip协议帧格式就决定了,当然我指的ipv4,tcp帧里的端口类型是uint16_t,即2的16次方减1个端口,我实在不明白t-io这位大神作者用了何种神功撸出了300K的tcp长连接,注意这哥们号称的长连接,难道是自己用java实现了一套传输协议层?
在下对前辈渊博的知识真是佩服得五体投地,甘拜下风!@红薯 家的OSC真人才济济!😄😄😄
2018-05-25 12:39

引用来自“talent-tan”的评论

之所以改口30万,不是因为tio不支持百万级别,而是目前条件限制等因素,并没有测到100万,为了防止部分瓜众说tio玩扛杆,暂时改为30万

谢谢大家的支持!

引用来自“梦朝思夕”的评论

咨询一个问题,单机的端口只有65000多个,如何做到30万的长连接????

引用来自“talent-tan”的评论

支持再多的TCP长连接,服务器端只需要一个端口,是一个!

引用来自“梦朝思夕”的评论

回复@talent-tan : 这是我见过的最NB的解释了!

引用来自“开源中国-首席营养师”的评论

这解释我也挻服的,超级NB。

引用来自“talent-tan”的评论

本来随口一回,答案也没毛病,看到你们的回复,我竟然笑起来了,是我笑点低?������

引用来自“艾米”的评论

这位同学,你先别笑,再好好想想你的答案有没有毛病,我也是醉了 😅

引用来自“光的笔记”的评论

没看出这回复有什么问题,还请解释一二
还有从他说只需要一个端口这点来看,可知他的基础知识是多么差,哪怕不知道协议栈的工作原理,起码用socket自己写个简单的echo server吧?
2018-05-25 12:37
不明白大家为什么要互相喷起来?
2018-05-25 12:32

引用来自“talent-tan”的评论

之所以改口30万,不是因为tio不支持百万级别,而是目前条件限制等因素,并没有测到100万,为了防止部分瓜众说tio玩扛杆,暂时改为30万

谢谢大家的支持!

引用来自“梦朝思夕”的评论

咨询一个问题,单机的端口只有65000多个,如何做到30万的长连接????

引用来自“talent-tan”的评论

支持再多的TCP长连接,服务器端只需要一个端口,是一个!

引用来自“梦朝思夕”的评论

回复@talent-tan : 这是我见过的最NB的解释了!

引用来自“开源中国-首席营养师”的评论

这解释我也挻服的,超级NB。

引用来自“talent-tan”的评论

本来随口一回,答案也没毛病,看到你们的回复,我竟然笑起来了,是我笑点低?������

引用来自“艾米”的评论

这位同学,你先别笑,再好好想想你的答案有没有毛病,我也是醉了 😅

引用来自“光的笔记”的评论

没看出这回复有什么问题,还请解释一二
tcp/ip协议帧格式就决定了,当然我指的ipv4,tcp帧里的端口类型是uint16_t,即2的16次方减1个端口,我实在不明白t-io这位大神作者用了何种神功撸出了300K的tcp长连接,注意这哥们号称的长连接,难道是自己用java实现了一套传输协议层?
2018-05-25 12:27

引用来自“talent-tan”的评论

之所以改口30万,不是因为tio不支持百万级别,而是目前条件限制等因素,并没有测到100万,为了防止部分瓜众说tio玩扛杆,暂时改为30万

谢谢大家的支持!

引用来自“梦朝思夕”的评论

咨询一个问题,单机的端口只有65000多个,如何做到30万的长连接????

引用来自“talent-tan”的评论

支持再多的TCP长连接,服务器端只需要一个端口,是一个!

引用来自“梦朝思夕”的评论

回复@talent-tan : 这是我见过的最NB的解释了!

引用来自“开源中国-首席营养师”的评论

这解释我也挻服的,超级NB。

引用来自“talent-tan”的评论

本来随口一回,答案也没毛病,看到你们的回复,我竟然笑起来了,是我笑点低?������

引用来自“艾米”的评论

这位同学,你先别笑,再好好想想你的答案有没有毛病,我也是醉了 😅
没看出这回复有什么问题,还请解释一二
2018-05-25 12:12

引用来自“talent-tan”的评论

之所以改口30万,不是因为tio不支持百万级别,而是目前条件限制等因素,并没有测到100万,为了防止部分瓜众说tio玩扛杆,暂时改为30万

谢谢大家的支持!

引用来自“梦朝思夕”的评论

咨询一个问题,单机的端口只有65000多个,如何做到30万的长连接????

引用来自“talent-tan”的评论

支持再多的TCP长连接,服务器端只需要一个端口,是一个!

引用来自“梦朝思夕”的评论

回复@talent-tan : 这是我见过的最NB的解释了!

引用来自“开源中国-首席营养师”的评论

这解释我也挻服的,超级NB。

引用来自“talent-tan”的评论

本来随口一回,答案也没毛病,看到你们的回复,我竟然笑起来了,是我笑点低?������
这位同学,你先别笑,再好好想想你的答案有没有毛病,我也是醉了 😅
2018-05-25 12:07

引用来自“talent-tan”的评论

之所以改口30万,不是因为tio不支持百万级别,而是目前条件限制等因素,并没有测到100万,为了防止部分瓜众说tio玩扛杆,暂时改为30万

谢谢大家的支持!

引用来自“梦朝思夕”的评论

咨询一个问题,单机的端口只有65000多个,如何做到30万的长连接????

引用来自“talent-tan”的评论

支持再多的TCP长连接,服务器端只需要一个端口,是一个!

引用来自“梦朝思夕”的评论

回复@talent-tan : 这是我见过的最NB的解释了!

引用来自“开源中国-首席营养师”的评论

这解释我也挻服的,超级NB。
本来随口一回,答案也没毛病,看到你们的回复,我竟然笑起来了,是我笑点低?������
2018-05-25 11:42
国产开源的通病: 最快 最牛逼 最流行 最大 最猛 最好 宇宙第一
2018-05-25 11:03

引用来自“talent-tan”的评论

之所以改口30万,不是因为tio不支持百万级别,而是目前条件限制等因素,并没有测到100万,为了防止部分瓜众说tio玩扛杆,暂时改为30万

谢谢大家的支持!

引用来自“梦朝思夕”的评论

咨询一个问题,单机的端口只有65000多个,如何做到30万的长连接????

引用来自“talent-tan”的评论

支持再多的TCP长连接,服务器端只需要一个端口,是一个!

引用来自“梦朝思夕”的评论

回复@talent-tan : 这是我见过的最NB的解释了!
这解释我也挻服的,超级NB。
2018-05-25 10:47

引用来自“talent-tan”的评论

之所以改口30万,不是因为tio不支持百万级别,而是目前条件限制等因素,并没有测到100万,为了防止部分瓜众说tio玩扛杆,暂时改为30万

谢谢大家的支持!

引用来自“梦朝思夕”的评论

咨询一个问题,单机的端口只有65000多个,如何做到30万的长连接????

引用来自“talent-tan”的评论

支持再多的TCP长连接,服务器端只需要一个端口,是一个!

引用来自“梦朝思夕”的评论

回复@talent-tan : 这是我见过的最NB的解释了!
😄😄😄
2018-05-25 10:46

引用来自“talent-tan”的评论

之所以改口30万,不是因为tio不支持百万级别,而是目前条件限制等因素,并没有测到100万,为了防止部分瓜众说tio玩扛杆,暂时改为30万

谢谢大家的支持!

引用来自“梦朝思夕”的评论

咨询一个问题,单机的端口只有65000多个,如何做到30万的长连接????
例如服务端开一个TCP连接端口:10022,然后无数的客户端连接服务端都只要对上这个端口号就可以了,这时就要看单机服务器能支撑多少个客户端连接。
而你说的6万几端口,并不是每个客户端连接服务端都要不同的端口号,而是服务端需要开一个端口给外部访问时,有6万几个端口号让人选择。
2018-05-25 10:39

引用来自“talent-tan”的评论

之所以改口30万,不是因为tio不支持百万级别,而是目前条件限制等因素,并没有测到100万,为了防止部分瓜众说tio玩扛杆,暂时改为30万

谢谢大家的支持!

引用来自“梦朝思夕”的评论

咨询一个问题,单机的端口只有65000多个,如何做到30万的长连接????

引用来自“talent-tan”的评论

支持再多的TCP长连接,服务器端只需要一个端口,是一个!
回复@talent-tan : 这是我见过的最NB的解释了!
2018-05-25 10:36
想问一下并发的测试用例是怎么写的,我用C和nodejs都写了个简单的服务器,看看能支持多少长连接
2018-05-25 10:26

引用来自“talent-tan”的评论

之所以改口30万,不是因为tio不支持百万级别,而是目前条件限制等因素,并没有测到100万,为了防止部分瓜众说tio玩扛杆,暂时改为30万

谢谢大家的支持!

引用来自“梦朝思夕”的评论

咨询一个问题,单机的端口只有65000多个,如何做到30万的长连接????
支持再多的TCP长连接,服务器端只需要一个端口,是一个!
2018-05-25 10:20

引用来自“talent-tan”的评论

之所以改口30万,不是因为tio不支持百万级别,而是目前条件限制等因素,并没有测到100万,为了防止部分瓜众说tio玩扛杆,暂时改为30万

谢谢大家的支持!
咨询一个问题,单机的端口只有65000多个,如何做到30万的长连接????
2018-05-25 10:15

引用来自“贤狼罗兰斯”的评论

除了连接数之外,还需要考虑服务器收到消息后的任务调度。benchmark应该包括echo,json解析等业务逻辑的测试,以及随着请求数和链接数的增加,服务器的负载能否线性增长。最后,需要客户端统计出响应的最长响应时间,平均响应时间,失败任务数。

引用来自“hotsmile”的评论

当连接数到一定量后,负载并不是呈现线性增长的。
是的,那个30万长连接测试报告,参考价值很大,但是后面的一些推测,还是需要用数据说话!

以我对tio的了解,连接数增加后,主要增加两个方面的代价:一是会增加维护集合的大小(譬如各种Map映射,Set集合),二是会增加监控代价(譬如检测哪些断连哪些超时),其它在aio底层的实现就看jdk的表现了。

为了不引起其它群(尤其是netty交流群)的一些争议,本次把百万级改成30万,不过懂的人依然懂,不理解的人依然不理解的,改一下说法,从我的角度来说只是为了避免无谓的口水战,我内心依然非常相信tio是百万级的。
2018-05-25 10:02

引用来自“贤狼罗兰斯”的评论

除了连接数之外,还需要考虑服务器收到消息后的任务调度。benchmark应该包括echo,json解析等业务逻辑的测试,以及随着请求数和链接数的增加,服务器的负载能否线性增长。最后,需要客户端统计出响应的最长响应时间,平均响应时间,失败任务数。
当连接数到一定量后,负载并不是呈现线性增长的。
2018-05-25 09:52

引用来自“一大三千”的评论

我之前觉得这框架作者缺少严谨的态度,现在能改过来,善莫大焉👍

引用来自“talent-tan”的评论

要模拟100万个客户端,是很困难的。所以去年,我参考tio的数据结构模型,在内存中模拟了200万个"ChannelContext",然后进行一些模拟操作,结果也是很OK的。不过模拟毕竟是模拟,不具备太强的说服力,所以干脆把"百万级"改成"30万"了,按群友们的说法:"30万也很OK了,谁会把30万个长连接放在一台服务器上呢"

引用来自“dwingo”的评论

十万以上的长连接, 一般的做法是用一个极致高效的C/C++写的前端代理来管理大量连接, 后端java只跟前端代理连接.
能达到这种规模的, 服务器不做分布式也说不过去了. 因此不用太担心java能否处理几十上百万连接的问题.

引用来自“土卫十六”的评论

但是除了TCP转发,还有服务器之间的文件同步与数据库同步怎么办?数据同步可以使用Redis这样天然的分布式数据库。。。但是文件同步怎么办,很难处理啊。
分布式架构用得这么广泛, 同步问题都有解决办法, 当然得具体问题具体分析, 泛泛地说文件同步问题谁也解决不了.
2018-05-25 09:49
我表示大力支持!
2018-05-25 09:30
支持一下,专业、专注、坚持,必能成功
2018-05-25 09:23
喜闻乐见 再接再厉
2018-05-25 08:20
这个就厉害了
2018-05-25 00:07

引用来自“fuygkunlij”的评论

踏踏实实做技术比较好,一看到煽动性的言辞就不敢用了

引用来自“轨迹_”的评论

没让你非得用哦,没有点水准和测试能开出来让大家测么?感觉好就用,不好就不用,双向自愿的嘛!😁
你这不是抬杠吗,用不用是我的自由,当然谁也强制不了我;我没有否定作者的水平,我只是说的我所认为应该有的态度,没有针对作者,更没有没有丝毫的攻击作者。这两年受某位开源作者的影响,发布作品时,如果不来两句诗,或者不幽他一默,都不好意思了,我只是表示我个人不喜欢而已。
2018-05-24 23:24

引用来自“土卫十六”的评论

这个产品是业余在做,还是全职在做呢?能充当大规模文件服务器呢?对I/O调度有所考虑吗?不能只考虑内存数据的使用啊。。。
业余在做,不过我们团队重度使用t-io,包括http, websocket, 基于tcp的私有协议,全是基于t-io实现的,没有使用spring,也没用servlet容器
2018-05-24 23:08

引用来自“一大三千”的评论

我之前觉得这框架作者缺少严谨的态度,现在能改过来,善莫大焉👍

引用来自“talent-tan”的评论

要模拟100万个客户端,是很困难的。所以去年,我参考tio的数据结构模型,在内存中模拟了200万个"ChannelContext",然后进行一些模拟操作,结果也是很OK的。不过模拟毕竟是模拟,不具备太强的说服力,所以干脆把"百万级"改成"30万"了,按群友们的说法:"30万也很OK了,谁会把30万个长连接放在一台服务器上呢"

引用来自“dwingo”的评论

十万以上的长连接, 一般的做法是用一个极致高效的C/C++写的前端代理来管理大量连接, 后端java只跟前端代理连接.
能达到这种规模的, 服务器不做分布式也说不过去了. 因此不用太担心java能否处理几十上百万连接的问题.
但是除了TCP转发,还有服务器之间的文件同步与数据库同步怎么办?数据同步可以使用Redis这样天然的分布式数据库。。。但是文件同步怎么办,很难处理啊。
2018-05-24 23:03
这个产品是业余在做,还是全职在做呢?能充当大规模文件服务器呢?对I/O调度有所考虑吗?不能只考虑内存数据的使用啊。。。
2018-05-24 22:15
👍
2018-05-24 22:09

引用来自“fuygkunlij”的评论

踏踏实实做技术比较好,一看到煽动性的言辞就不敢用了

引用来自“轨迹_”的评论

没让你非得用哦,没有点水准和测试能开出来让大家测么?感觉好就用,不好就不用,双向自愿的嘛!😁
主要是我看了半天,没看到"煽动性的言辞"在哪里?@红薯 大大是否有看到?
2018-05-24 22:02
tio做的是真的牛 。。。支持TIO~
2018-05-24 21:57

引用来自“fuygkunlij”的评论

踏踏实实做技术比较好,一看到煽动性的言辞就不敢用了
没让你非得用哦,没有点水准和测试能开出来让大家测么?感觉好就用,不好就不用,双向自愿的嘛!😁
2018-05-24 21:52
t-io,是最让我喜欢的和着迷去深入研究代码的一个通讯框架,性能和稳定轻非常强悍!通过打造J-IM出来也证明了t-io的优秀,希望小喷们,不喜勿喷,毕竟不是人民币做不到人人喜欢,懂得人自然会懂哦!支持谭总,加油。。。
2018-05-24 21:39

引用来自“蒋林辉”的评论

做开源实属不易,那些嘴上不饶人的可以自己去试试,还有作为做技术人为什么要和市井小民一样骂骂不休呢,天外有天,人外有人,如果觉得有问题可以指出源码存在的问题,帮助作者改进啊,jdk1.x版本也是多low的一样道理,真心的感谢作者写出这个项目,而且还不计私心的开源出来,等项目忙完会好好研读源码的
谢谢支持!
t-io在很长一段时间内都是不计私心的开源的,不过现在还是有点私心的,主要存在以下几个私心:
1、把t-io做成品牌,服务更多的优质用户,也为自己将来创业打下人脉基础
2、让厌恶t-io的x们继续不喜欢t-io

所以说现在完全没私心,在下愧不敢当!

但t-io开源出来最大的受益者还是广大被TCP长连接应用所困扰的用户,至于本人就算从t-io中获取到了什么物质利益、品牌利益,那也是长期付出顺带的开花结果,不觉得这种通过劳动获得正当报酬有什么不妥!
2018-05-24 21:00
做开源实属不易,那些嘴上不饶人的可以自己去试试,还有作为做技术人为什么要和市井小民一样骂骂不休呢,天外有天,人外有人,如果觉得有问题可以指出源码存在的问题,帮助作者改进啊,jdk1.x版本也是多low的一样道理,真心的感谢作者写出这个项目,而且还不计私心的开源出来,等项目忙完会好好研读源码的
2018-05-24 20:49
那个30W只是链上去,什么都没有干。。。这个意义不 大
2018-05-24 19:45
有没有什么栗子,打算用tio作为gateway采集各个种类的采集仪数据。完全不知道这事怎么写合适
2018-05-24 17:46

引用来自“一大三千”的评论

我之前觉得这框架作者缺少严谨的态度,现在能改过来,善莫大焉👍

引用来自“talent-tan”的评论

要模拟100万个客户端,是很困难的。所以去年,我参考tio的数据结构模型,在内存中模拟了200万个"ChannelContext",然后进行一些模拟操作,结果也是很OK的。不过模拟毕竟是模拟,不具备太强的说服力,所以干脆把"百万级"改成"30万"了,按群友们的说法:"30万也很OK了,谁会把30万个长连接放在一台服务器上呢"
十万以上的长连接, 一般的做法是用一个极致高效的C/C++写的前端代理来管理大量连接, 后端java只跟前端代理连接.
能达到这种规模的, 服务器不做分布式也说不过去了. 因此不用太担心java能否处理几十上百万连接的问题.
2018-05-24 17:34
t-io 👍
2018-05-24 16:46
说实话用着还不错
2018-05-24 16:03
除了连接数之外,还需要考虑服务器收到消息后的任务调度。benchmark应该包括echo,json解析等业务逻辑的测试,以及随着请求数和链接数的增加,服务器的负载能否线性增长。最后,需要客户端统计出响应的最长响应时间,平均响应时间,失败任务数。
2018-05-24 15:57
y
链接多不是问题,程序处理链接的速度快才是指标,
2018-05-24 15:23
999个666快递配送中,请注意查收
能说说是啥条件限制的不能测试到100w么?
2018-05-24 15:21
只是一个链接而已,数据分发怎么样?
2018-05-24 14:36
👍
2018-05-24 14:21
用起来挺方便的
2018-05-24 14:16

引用来自“一大三千”的评论

我之前觉得这框架作者缺少严谨的态度,现在能改过来,善莫大焉👍
要模拟100万个客户端,是很困难的。所以去年,我参考tio的数据结构模型,在内存中模拟了200万个"ChannelContext",然后进行一些模拟操作,结果也是很OK的。不过模拟毕竟是模拟,不具备太强的说服力,所以干脆把"百万级"改成"30万"了,按群友们的说法:"30万也很OK了,谁会把30万个长连接放在一台服务器上呢"
2018-05-24 13:56
我之前觉得这框架作者缺少严谨的态度,现在能改过来,善莫大焉👍
2018-05-24 12:23
我的可以支持上亿链接 只是厂商不给力
2018-05-24 12:18
踏踏实实做技术比较好,一看到煽动性的言辞就不敢用了
2018-05-24 12:03

引用来自“talent-tan”的评论

之所以改口30万,不是因为tio不支持百万级别,而是目前条件限制等因素,并没有测到100万,为了防止部分瓜众说tio玩扛杆,暂时改为30万

谢谢大家的支持!
分瓜众说tio玩扛杆。。。。人家那叫扛杆么请问,你都没试过就说100万。。。。。服了
2018-05-24 12:02
顶一下谭总!!!
2018-05-24 11:59
非常不错的产品,良心之作
2018-05-24 11:48
关注很久,很有价值的开源产品,以后一定会用上
2018-05-24 11:41
辛苦了! 这两天正在着手开发一个基于tio的物联网平台。
2018-05-24 11:32

引用来自“PublicCMS”的评论

😓 怎么越来越谦虚了

引用来自“talent-tan”的评论

看自问自答

引用来自“PublicCMS”的评论

用虚拟ip的方式 测试下百万连接呢
百万?太谦虚了呢。
2018-05-24 11:31
牛逼
2018-05-24 11:15

引用来自“Javen”的评论

支持,还在研究尝试在游戏中使用...
谢谢大佬支持,有问题随时反馈
2018-05-24 11:14

引用来自“JFinal”的评论

tio 牛逼 👍
谢谢波总支持!
2018-05-24 11:07
支持,还在研究尝试在游戏中使用...
2018-05-24 11:06
tio 牛逼 👍
2018-05-24 11:01
一直想找个场景好好玩一下tio,
2018-05-24 10:40
之所以改口30万,不是因为tio不支持百万级别,而是目前条件限制等因素,并没有测到100万,为了防止部分瓜众说tio玩扛杆,暂时改为30万

谢谢大家的支持!
2018-05-24 10:32
快说说背后的故事
2018-05-24 10:31
顶起
2018-05-24 10:31
嗯,继续支持
2018-05-24 10:29
顶顶顶顶顶顶顶顶顶顶顶顶顶顶
2018-05-24 10:28

引用来自“PublicCMS”的评论

😓 怎么越来越谦虚了

引用来自“talent-tan”的评论

看自问自答
用虚拟ip的方式 测试下百万连接呢
2018-05-24 10:27

引用来自“PublicCMS”的评论

😓 怎么越来越谦虚了
看自问自答
2018-05-24 10:27
前排露脸! 💖
2018-05-24 10:25
😓 怎么越来越谦虚了
2018-05-24 10:20
厉害
回复 @
{{emojiItem.symbol}}
返回顶部
顶部