日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Nacos 2.0 升级前后性能对比压测

發布時間:2024/9/3 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nacos 2.0 升级前后性能对比压测 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
簡介:Nacos 2.0 通過升級通信協議和框架、數據模型的方式將性能提升了約 10 倍,解決繼 Nacos 1.0 發布逐步暴露的性能問題。本文通過壓測 Nacos 1.0,Nacos 1.0 升級 Nacos 2.0 過程中,Nacos 2.0 進行全面性能對比,直觀的展示 Nacos 2.0 所帶來的性能提升。

作者|席翁


Nacos 2.0 通過升級通信協議和框架、數據模型的方式將性能提升了約 10 倍,解決繼 Nacos 1.0 發布逐步暴露的性能問題。本文通過壓測 Nacos 1.0,Nacos 1.0 升級 Nacos 2.0 過程中,Nacos 2.0 進行全面性能對比,直觀的展示 Nacos 2.0 所帶來的性能提升。

壓測準備

?

環境準備

?

為了方便 Nacos 部署升級和展示核心性能指標,我們是從阿里云微服務引擎 MSE(_https://cn.aliyun.com/product/aliware/mse_)中購買的一個 2 核 CPU+4G 內存的三節點 Nacos 集群。
?

壓測模型

?

為了展示不同規模下的系統表現,我們采用逐步增壓的方式進行壓測,將壓力分為 3個批次進行逐步啟動,并觀察每個批次下集群的運行表現。同時會在壓力集群之外,再增加一個 Dubbo 服務的 Demo ,并使用 Jmeter 以 100 TPS 的壓力不停的調用,以模擬不同壓力下,對實際業務調用存在的可能影響。

壓測過程中,會在適當的時候對服務端和客戶端進行升級;服務端的升級將直接使用 MSE 提供的一鍵升級功能,客戶端的升級會使用分批次輪流重啟的方式進行。

壓測過程

?

Nacos1.X Server + Nacos1.X Client

首先啟動第一批施壓集群,對 MSE Nacos1.2.1 進行施壓,在 6000 個 Providers 的壓力下,集群穩定時 CPU 大約 25% ,能夠穩定保持 6000 實例。


?

隨后啟動第二批施壓集群,增加 4000 個 Provider ,合集 10000 個 Provider 。此時集群峰值 CPU 已經達到 60% ,穩定運行時大約在 45% 左右,集群能夠穩定運行。


在前兩批的壓力下,集群沒有出現穩定性問題,所以 Dubbo 的調用保持正常,沒有錯誤發生。


當第三批施壓集群啟動之后,壓力總計 14000 個 Provider 。此時集群先是短暫的注冊到 13000 個實例,之后很快出現實例數下跌,CPU 跑滿的問題。并且縮小時間范圍可以看到,下跌后的實例仍然在小范圍抖動。


?

同時 Dubbo 的調用出現錯誤,從 Consumer 的日志可以看出,是由于服務端無法支撐這個級別的壓力,導致 Dubbo Provider 被摘除,所以調用的時候出現了 No provider 的錯誤。


Nacos2.X Server + Nacos1.X Client

由于服務端升級期間,會進行實例的雙寫操作,因此在升級過程中服務端存儲的實例數會是實際實例值的兩倍。根據上述測試結果,需要先將實例數回滾回第一批 6000 實例之后,或是升級配置擴容機器之后再嘗試升級。本文使用回滾壓力的方式,先停止后啟動的施壓集群。讓集群恢復正常后再執行升級。



從監控圖中可以看出,在停止后兩批壓力后,集群很快就恢復到了正常,運行穩定,Dubbo 調用也恢復正常。之后使用 MSE 的升級功能,進行升級。升級過程中由于雙寫的性能損耗,導致 CPU 有較大的抖動;而且因為雙寫導致的實例數翻倍,實際上相當于 12000 實例的極限壓力,服務端仍然有一定的抖動,因此導致了些許 Dubbo 的錯誤。若是在非極限壓力下升級,將不會有此影響。



隨著服務端升級完成停止雙寫,消除了雙寫帶來的性能損耗,CPU 使用降低并趨于穩定,同時實例數也不再抖動,Dubbo 調用完全恢復;如同 1.X 服務端一樣,分兩個批次啟動施壓集群,對比兩個版本間在相同壓力下的性能表現。



由于客戶端依舊使用的是 1.X 的客戶端,服務端的使用水位依然非常高,在全部壓力啟動后,CPU 幾乎達到 100% ;雖然沒有像 1.X 服務端一樣,出現大規模實例下跌,但是運行一段時間后依舊有少量的實例抖動,說明僅升級 Nacos 服務端到 2.0 版本能有一定的改善,但是沒有徹底解決性能問題。


Nacos2.X Server + Nacos2.X Client

為了完全釋放 Nacos 2.0 的性能,還需要將施壓集群的客戶端也升級到 2.0 以上版本。同樣將分 3 個批次進行替換,期間由于 Provider 進行了重啟,服務端有出現實例的下跌再恢復屬于正常現象。隨著施壓集群的升級,可以發現 CPU 有了非常明顯的下降,最終達到穩定時,CPU 由最初的接近 100% ,降低到 20%,集群穩定運行 14000 個實例。



?

壓測結果

?

如上所述,我們能夠得到 2 核 CPU+4G 內存的三節點集群在不同版本下的性能差異:
?

服務端版本客戶端版本壓力規模集群穩定性CPU使用
Nacos1.XNacos1.X14000完全不穩定100%
Nacos2.X(升級中)Nacos1.X6000有一定抖動100%
Nacos2.XNacos1.X14000有一定抖動100%
Nacos2.XNacos2.X14000穩定20%

由此可見,Nacos 2.0 確實對性能有較大的提升,新用戶建議直接全部采用 Nacos 2.0,老用戶建議先升級 Server 端,然后在逐步升級客戶端釋放紅利。最后從整個壓測視角的監控,來直觀的感受一下不同版本在不同階段的性能表現:


?

更多信息

?點擊https://www.aliyun.com/product/aliware/mse,了解更多 MSE Nacos 2.0 相關信息。

原文鏈接:https://developer.aliyun.com/article/785090?

版權聲明:本文內容由阿里云實名注冊用戶自發貢獻,版權歸原作者所有,阿里云開發者社區不擁有其著作權,亦不承擔相應法律責任。具體規則請查看《阿里云開發者社區用戶服務協議》和《阿里云開發者社區知識產權保護指引》。如果您發現本社區中有涉嫌抄襲的內容,填寫侵權投訴表單進行舉報,一經查實,本社區將立刻刪除涉嫌侵權內容。

總結

以上是生活随笔為你收集整理的Nacos 2.0 升级前后性能对比压测的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。