netty 代理https_基于Netty的四层和七层代理性能方面的一些压力测试

本文我们主要是想测试和研究几点:

  • 基于Netty写的最简单的转发HTTP请求的程序,四层和七层性能的差异
  • 三种代理线程模型性能的差异,下文会详细解释三种线程模型
  • 池和非池化ByteBuffer性能的差异

本文测试使用的代码在: https://github.com/JosephZhu1983/proxytest

在代码里我们实现了两套代理程序:

c10c35c9640f25852231901767c021f2.png

测试使用的机器配置是(阿里云ECS):

9ddb0c9534bec61ce4ba5f3774a3684e.png

一共三台机器:

  • server 服务器安装了nginx,作为后端
  • client 服务器安装了wrk,作为压测客户端
  • proxy 服务器安装了我们的测试代码(代理)

Nginx后端

nginx 配置的就是默认的测试页(删了点内容,减少内网带宽):

09cde9ca51f51762e4199abb47bacaa6.png

直接对着nginx压测下来的qps是26.6万:

3f5774e948aaea6658970fb8e3c14286.png

有关四层和七层

四层的代理,我们仅仅是使用Netty来转发ByteBuf。 七层的代理,会有更多额外的开销,主要是Http请求的编码解码以及Http请求的聚合,服务端:

967dc99a8c99f672bd7ba02adcfcaf10.png

客户端:

8c8481290505eba37cfd724cb92ca574.png

这里我们可以想到,四层代理因为少了Http数据的编解码过程,性能肯定比七层好很多,好多少我们可以看看测试结果。

有关线程模型

我们知道作

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值