smart-socket v1.4.5 发布,bug 修复与性能优化

smart-socket 是一款国产开源的 Java AIO 框架,追求代码量、性能、稳定性、接口设计各方面都达到极致。如果 smart-socket 对您有一丝帮助,请 Star 一下我们的项目并持续关注;如果您对 smart-socket 并不满意,那请多一些耐心,smart-socket 一直在努力变得更好。

Maven

<!-- https://mvnrepository.com/artifact/org.smartboot.socket/aio-core -->
<dependency>
    <groupId>org.smartboot.socket</groupId>
    <artifactId>aio-core</artifactId>
    <version>1.4.5</version>
</dependency>

更新内容:

  1. 内存池方面的优化:
    • 降低内存回收对锁资源的争抢优先级,优先保障内存申请效率。
    • 降低内存分配时的锁粒度,缓解多核CPU环境下的锁竞争压力。
    • 提供内存快速申请和普通迭代申请双模式,申请时自动决策最优模式
    • bug修复:修复特定场景下可能引发的内存泄露问题。
    • bug修复:修复服务端经历 2147483647 次网络连接后申请内存页会触发数组越界的问题。
  2. 提供数据快速输出算法,减少数据入队出队操作,提升服务性能。
  3. 采用AtomicInteger替换信号量,实现读写回调处理无锁化。
  4. 节省WriteBuffer的内存消耗。
  5. 修复监控插件MonitorPlugin的读写指标统计不准问题。
  6. 优化附件对象Attachment,相较之前有更好的性能表现。
  7. bug修复:迁移UDP功能至aio-pro包,精简aio-core。毕竟TCP通信才是绝大部分用户的需求。
  8. 修复UDP连接可能引发的数据越界问题。因使用InetSocketAddress的hashCode取余运算计算数组下标,而InetSocketAddress重写了hasdCode会存在负数情况。

性能测试

测试类为smart-socket示例StringServer、StringClient,直接运行即可。QPS为 217W/s,每秒可处理流量达 145MB。

[Quick Timer] INFO org.smartboot.socket.extension.plugins.MonitorPlugin - 
-----这5秒发生了什么----
inflow:		728.8264465332031(MB)
outflow:	723.7615051269531(MB)
process fail:	0
process success:	10896864
process total:	24768384
read count:	728	write count:	187864
connect count:	0
disconnect count:	0
online count:	10
connected total:	10
Requests/sec:	2179372.8
Transfer/sec:	145.76528930664062(MB)

最后

smart-socket正参与2019 最受欢迎中国开源软件评选,请给我们投上宝贵一票,余票不足的就给这个项目加个Star吧。

猜你喜欢

转载自www.oschina.net/news/111376/smart-socket-1-4-5-released