AIO 通信框架 smart-socket — 每秒处理 500W 条消息,人机为之颤抖 | 软件推介

Posted OSC开源社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AIO 通信框架 smart-socket — 每秒处理 500W 条消息,人机为之颤抖 | 软件推介相关的知识,希望对你有一定的参考价值。


smart-socket 是一个用 500 行代码实现的 AIO 通信框架


作者语


假如只允许你用 500 多行代码写一个通信框架,你敢尝试吗?smart-socket 做到了!


假如需要你写一个简单易懂的 AIO 框架,你敢尝试吗?只要你读完代码点个头,smart-socket也便做到了!


假如要从众多通信类开源项目中寻找一款线程模型单一,性能表现“爆炸”的项目,它存在吗?我觉得,smart-socket 就是。


性能测试报告


AIO 通信框架 smart-socket — 每秒处理 500W 条消息,人、机为之颤抖 | 软件推介


共勉:无论有多好的性能表现都请不要自满,这是 JDK 的功劳,AIO 的表现本该就这样,达不到指标才值得反思。代码之道,任重道远。


最新特性


一次无意的测试结果,让我迫不及待的想尽快将smart-socket再次推荐给大家。正如标题所示,500W/秒是本次测试的战绩,截图如下,真实有效:


AIO 通信框架 smart-socket — 每秒处理 500W 条消息,人、机为之颤抖 | 软件推介


发表本文是为了描述一下本次的测试步骤,感兴趣的朋友都可以去尝试一下。


有一点要事先说明一下,不推荐使用 Mac 操作系统进行压测,可能会出现死机的情况。不过在 Linux、Windows 或者 Mac 下创建的虚拟机环境中都可以稳定运行。


具体测试步骤:


  1. 登录码云下载工程https://gitee.com/smartboot/smart-socket并导入IDE

  2. 先后启动P2PServer、P2PMultiClient

  3. 运行至少两分钟,观察P2PServer控制台统计数据,第二分钟开始的数据为有效测试数据。


数据分析:


数据指标分为:流入流量、流出流量、处理失败消息数、已处理消息量、已处理消息总量。


要评估smart-socket真正的处理能力,个人觉得应该将流入流量与流出流量、请求消息数与响应消息数分别累加统计。


这并不是为了让smart-socket有一个漂亮的数据报告,因为无论是何种类型的流量和消息数,都是经由smart-socket处理的。一分钟内,它不仅完成了近10G流量的读入,还输出了近10G的流量。


按照该思路smart-socket本次的性能表现应为:


  • 处理流量总数近20G,

  • 消息总数超6亿,

  • 平均处理消息数约1000W/秒。


smart-socket已经达到性能极限了吗?当然不是,它还有改进的空间,我知道!作为一款只有区区700多行代码的通信框架,smart-socket极简、易用、高性能的特性,相信可以作为您学习、工作非常不错的一个选择。


AIO 通信框架 smart-socket — 每秒处理 500W 条消息,人、机为之颤抖 | 软件推介


推荐阅读

点击“阅读原文”查看更多精彩内容

以上是关于AIO 通信框架 smart-socket — 每秒处理 500W 条消息,人机为之颤抖 | 软件推介的主要内容,如果未能解决你的问题,请参考以下文章

java aio和nio的区别

(填坑系列) 用aio写server与client进行通信的坑

网络通信之 AIO 和 BIO和 NIO

BIO NIO AIO 学习笔记

基于AIO的聊天室 (全future版)

java soket通信总结 bio nio aio的区别和总结