远程调用性能分析

影响性能的三个主要原因:

1、网络传输方式问题,传统的RPC框架或者基于RMI等方式的远程服务调用采用了同步阻塞I/O,当客户端的并发压力或者网络时延增大后,同步阻塞I/O会由于频繁地wait导致I/O线程经常性的阻塞,I/O处理能力下降。根据不同的应用场景,所以可以选择BIO、NIO和AIO作为IO模型

2、序列化性能差

  Java序列化机制是java内部的一种对象编解码技术,无法跨语言使用、资源占用率高

3、线程模型问题

 Netty的高性能之道:

 1、异步非阻塞通信:Netty的IO线程线程NioEventLoop由于使用了多路复用器Selector,可以同时并发处理成百上千个客户端SocketChannel,由于读写都是非阻塞的,可以充分提升IO线程的运行效率,避免由于频繁的IO阻塞导致的线程挂起。一个IO线程可以并发处理N个客户端连接和读写操作,架构的性能、伸缩能力和可靠性都得到了极大的提升。

2、高效的IO线程模型

3、高性能的序列化框架

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值