kong笔记——kong、nginx性能压测对比

简述

kong笔记 目录导航

前面介绍了kong的基本使用以及相关原理,那么接下来,我们需要对kong的性能做一个简单的了解。

性能压测

测试环境

机器类别及IP地址 硬件配置 操作系统 软件配置 网络环境
kong服务 1核2G/2核2G/2核4G/4核2G/4核4G Alpine Linux 3.13 kong:2.5.0 阿里云ack环境
测试机 CPU:4CPU8G
带宽:1M
资源组:1台4CPU8G,1台2CPU4G
VUM:100w
Euler OS系统 v1.19.10-r0 华为云 云性能测试服务CPTS

测试思路

  1. 压测 使用kong代理;
  2. 压测 使用kong代理并使用插件(file-log)的场景;
  3. 压nginx与kong的区别(其他变量一样);
  4. 压规格,看内存影响还是cpu影响,以及最后得出一个软件瓶颈的最佳规格(其他变量一样);
  5. 压并发数,看是否有影响,以及错误率,qps变化(其他变量一样);
  6. 压引入lua业务与没引入lua业务的场景,看业务对其影响大不大(其他变量一样);

测试结果

测试报告量巨大,为了看起来明了,这里只写了结论(数据量实在太多了,而且markdown对表格的支持不太好,显示效果也不好,这里仅放置模板)

模板

此处RPS可以理解为QPS;

场景分别为:

1核2G1M带宽1副本

1核2G1M带宽2副本

1核2G2M带宽1副本

1核4G1M带宽1副本

2核2G1M带宽1副本

2核4G1M带宽1副本

2核4G1M带宽2副本

等等

以下是表格模板:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XznnPrZn-1643010571992)(kong笔记——kong、nginx性能压测对比.assets/006M2jFvgy1gyot7jtqxij31bb0ah44q.jpg)]

结论

  1. kong架构+lua业务+file-log插件:qps最高的配置规格为4核2G,qps大约在 9000左右波动;

  2. kong架构代理:qps最高的配置规格为4核2G**,qps大约在1.2w左右波动;

  3. nginx架构+lua业务+nginx反向代理:qps最高的配置规格为4核2G,qps大约在 1.3w左右波动;

    这里为什么加了一个nginx反向代理的条件,是因为你使用kong的时候,kong的内部实际上是对你的业务做了一个反向代理,所以为了保证变量一致,采用了nginx代理;

  4. nginx架构+lua业务:qps最高的配置规格为4核2G,qps大约在 3w左右波动;

  5. 两种框架压测时,qps跟cpu核数的提升成正比,与内存的影响较小。

由以上结论可以得出,如果直接访问nginx,qps是3w,而使用kong只有1.2w,再加一个插件时,qps又会降低,说明使用的kong的时候,需要考虑性能,而导致性能下降的原因就是:kong代理,kong插件(这个结论是大量数据压测支撑出来的,不是自己凭空捏造,因为数据量太大,粘贴出来的话,文章的可读性会变的很差);

上一篇:FastDFS部署


下一篇:Docker + Spring Boot + FastDFS 搭建文件服务器