Nacos client 客戶端cpu占用100% 問題排查和解決方案


Nacos version:1.1.3
client version:1.0.0

dependency: 'org.springframework.cloud:spring-cloud-alibaba-nacos-config:0.9.0.RELEASE'

description as below:

NacosConfigService will be rebuilt every time the configuration file is changed in the console. After hundreds of configuration changes, the CPU will burst due to too many ClientWorker threads created.The NacosConfigService classe is not manually created。

image

Maybe problem is in the class org.springframework.cloud.alibaba.nacos.NacosConfigProperties,because springcloud will refresh class with annotation @ConfigurationProperties,this class will be rebuilt after every refresh phase.

image

image

 

詳情可參考 issue :https://github.com/alibaba/spring-cloud-alibaba/issues/912

問題簡單點描述為:使用了org.springframework.cloud:spring-cloud-alibaba-nacos-config:0.9.0.RELEASE 客戶端,在持續刷新配置文件的情況下會造成cpu 100%。

原因是因為在springcloud refresh environment的時候,NacosConfigService 會重復創建,NacosConfigService中包含了幾個定時任務的線程(名為:com.alibaba.nacos.client.Workder.fixed-***),在多次修改(線上慢慢積累)配置文件后,積累的的Worker線程會耗費掉cpu資源。

 

解決辦法:hold住 NacosConfigService實例,在刷新的時候不去創建新的類。注意:naming模塊也有相同的問題,解決辦法相同。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM