天天看點

中間件(nginx,網關)對性能的影響的測試

前提:docker安裝了nginx,項目使用springcloudgateway作為網關

1.nginx測試

啟動linux伺服器,啟動docker,啟動nginx,到windows上通路nginx的首頁,成功後就在jmeter中輸入相應内容,啟動測試:

中間件(nginx,網關)對性能的影響的測試
中間件(nginx,網關)對性能的影響的測試

linux中輸入docker stats,監控docker性能變化

中間件(nginx,網關)對性能的影響的測試

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

中間件(nginx,網關)對性能的影響的測試
中間件(nginx,網關)對性能的影響的測試

 平均響應時間6毫秒,99%的響應時間在94毫秒内傳回,可以看出nginx的性能非常不錯

2.網關測試

依然是Jemeter,我的網關端口号是88。然後别忘記先禁用上一個測試内容

中間件(nginx,網關)對性能的影響的測試

再啟動jvisualvm

中間件(nginx,網關)對性能的影響的測試
中間件(nginx,網關)對性能的影響的測試

由上圖可以看出,網關對CPU的使用率也是非常高

 同時,因為Eden Space設定的較小,垃圾回收也是有些頻繁

中間件(nginx,網關)對性能的影響的測試

 回看Jmeter,可以看出網關性能也是較優秀的

中間件(nginx,網關)對性能的影響的測試
中間件(nginx,網關)對性能的影響的測試

 3.簡單測試

 controller中加入一個簡單測試,重新開機該子產品:

@ResponseBody
    @GetMapping("/hello")
    public String hello(){
        return "hello";
    }
           

Jemeter中加入新測試

中間件(nginx,網關)對性能的影響的測試

 可以看出,在沒有經過網關和nginx,操作資料庫的情況下,性能很優秀

中間件(nginx,網關)對性能的影響的測試
中間件(nginx,網關)對性能的影響的測試

 4.網關加簡單服務

 網關中加入對hello的斷言,重新開機網關

中間件(nginx,網關)對性能的影響的測試

 Jmeter中加入新測試:

中間件(nginx,網關)對性能的影響的測試

可以看出,性能下降很多

中間件(nginx,網關)對性能的影響的測試
中間件(nginx,網關)對性能的影響的測試

 中間件越多,性能損失越大,大多都損失在網絡互動上

 5.nginx+網關+簡單服務

需要提前配置好nginx和網關和服務之間的關系,比如我這邊輸入配置好的URL直接通路:

中間件(nginx,網關)對性能的影響的測試

 繼續建立新測試

中間件(nginx,網關)對性能的影響的測試

 可以看出,性能繼續暴降:

中間件(nginx,網關)對性能的影響的測試
中間件(nginx,網關)對性能的影響的測試

繼續閱讀