WebApi网关之Bumblebee和Ocelot性能对比
Bumblebee是基于.net core 2.1開(kāi)發(fā)的WebApi網(wǎng)關(guān)組件,由于Bumblebee所追求的輕量化和性能,所以它并沒(méi)有像Ocelot那樣從asp.net core上進(jìn)行擴(kuò)展;而是構(gòu)建在BeetleX.FastHttpApi之上,主要原因BeetleX.FastHttpApi有著更輕量化和高性能的特點(diǎn)。雖然Bumblebee追求的是輕量化和性能, 不過(guò)具備的功能也不少,先看一下它能做什么:
為了確保網(wǎng)關(guān)的性能,組件也重寫(xiě)了一個(gè)精簡(jiǎn)的HttpClient用于滿足網(wǎng)關(guān)性能的需要;在這精簡(jiǎn)化的背后底能得到怎樣的性能提升呢?接下來(lái)和Ocelot做一個(gè)基礎(chǔ)轉(zhuǎn)發(fā)性能對(duì)比。
測(cè)試描述
為了讓測(cè)試更標(biāo)準(zhǔn)化,后臺(tái)提供的服務(wù)基于asp.net core webapi,而B(niǎo)umblebee和Ocelot則作為網(wǎng)關(guān)代理請(qǐng)求;然后分別用ab(開(kāi)啟K參數(shù))和bombardier分別在500,1000,2000連接數(shù)的情況測(cè)試相應(yīng)的RPS情況。
測(cè)試環(huán)境
網(wǎng)關(guān)服務(wù)器:e3-1230v2 16g內(nèi)存(4核8線程)
webapi服務(wù)器:e5-2670v2 32g內(nèi)存(10核20線程)
壓測(cè)服務(wù)器:e5-2670v2 32g內(nèi)存(10核20線程)
測(cè)試帶寬:光模塊10Gb
測(cè)試webapi代碼
由于是測(cè)試基礎(chǔ)性能,所以webapi的代碼并沒(méi)有邏輯,只是一個(gè)簡(jiǎn)單的基礎(chǔ)服務(wù)代碼:
Bumblebee網(wǎng)關(guān)配置
Ocelot網(wǎng)關(guān)配置
測(cè)試代碼地址
https://github.com/IKende/Bumblebee/tree/master/BumblebeeVSOcelot
AB測(cè)試結(jié)果
bombardier測(cè)試結(jié)果
總結(jié)
從兩者的測(cè)試結(jié)果看,Bumblebee性能基本是Ocelot的4倍?所以精簡(jiǎn)化帶來(lái)的性能提升還是非常明顯的。不過(guò)實(shí)際應(yīng)用中性能并不是唯一應(yīng)用的指標(biāo),Ocelot雖然性能不高但也在集成上的優(yōu)勢(shì)何況有多少業(yè)務(wù)需要這么高的并發(fā)業(yè)務(wù)呢?如果你追求一個(gè)精簡(jiǎn)高性的網(wǎng)關(guān)可以考慮Bumblebee,但如果希望一個(gè)集成規(guī)模更大,有著更好的社區(qū)資料那必然是Ocelot。
原文地址:https://mp.weixin.qq.com/s/qkjw7UOFHL1mR35C4iogdg
.NET社區(qū)新聞,深度好文,歡迎訪問(wèn)公眾號(hào)文章匯總 http://www.csharpkit.com
總結(jié)
以上是生活随笔為你收集整理的WebApi网关之Bumblebee和Ocelot性能对比的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 尝试:Script Lab,开发模式之知
- 下一篇: 在 .NET Core 中运行 Java