前提:docker安装了nginx,项目使用springcloudgateway作为网关
1.nginx测试
启动linux服务器,启动docker,启动nginx,到windows上访问nginx的首页,成功后就在jmeter中输入相应内容,启动测试:


linux中输入docker stats,监控docker性能变化

可以看到大部分CPU的使用都在nginx上,回看Jemter

平均响应时间6毫秒,99%的响应时间在94毫秒内返回,可以看出nginx的性能非常不错
2.网关测试
依然是Jemeter,我的网关端口号是88。然后别忘记先禁用上一个测试内容

再启动jvisualvm


由上图可以看出,网关对CPU的使用率也是非常高
同时,因为Eden Space设置的较小,垃圾回收也是有些频繁

回看Jmeter,可以看出网关性能也是较优秀的

3.简单测试
controller中加入一个简单测试,重启该模块:
- @ResponseBody
- @GetMapping("/hello")
- public String hello(){
- return "hello";
- }
Jemeter中加入新测试

可以看出,在没有经过网关和nginx,操作数据库的情况下,性能很优秀

4.网关加简单服务
网关中加入对hello的断言,重启网关
Jmeter中加入新测试:

可以看出,性能下降很多
中间件越多,性能损失越大,大多都损失在网络交互上
5.nginx+网关+简单服务
需要提前配置好nginx和网关和服务之间的关系,比如我这边输入配置好的URL直接访问:

继续建立新测试

可以看出,性能继续暴降:

