apache / apache/servicecomb-java-chassis

[BUG] - 频繁获取不存在配置导致性能劣化

Ouverte
#4,905 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
bug
Langage dominant
Java
Étoiles
1.9k
Forks
814
Merge moyen
8 j 23 h
PR mergées (30 j)
1

Description

### Steps to Reproduce

servicecomb3.2.2版本问题,性能劣化,火焰图分析:
org.apache.servicecomb.router.custom.RouterServerListFilter#enabled,
org.apache.servicecomb.loadbalance.LoadBalanceFilter#getOrCreateLoadBalancer调用org.apache.servicecomb.loadbalance.Configuration#getRuleStrategyName,
org.apache.servicecomb.loadbalance.filter.ZoneAwareDiscoveryFilter#enabled,
org.apache.servicecomb.registry.discovery.InstanceStatusDiscoveryFilter#enabled,
org.apache.servicecomb.core.invocation.InvocationFactory#setSrcMicroservice调用readServiceName(),每次consumer调用都要重复去spring获取上面五个属性,导致consumer操作CPU消耗比2.X多近10倍

### Expected Behavior

_No response_

### Servicecomb Version

_No response_

### Additional Context

_No response_

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez par retracer les chemins par appel à travers RouterServerListFilter#enabled, LoadBalanceFilter#getOrCreateLoadBalancer, Configuration#getRuleStrategyName, ZoneAwareDiscoveryFilter#enabled, InstanceStatusDiscoveryFilter#enabled et InvocationFactory#setSrcMicroservice/readServiceName. Utilisez le profiling ou des tests ciblés pour vérifier si les cinq propriétés sont récupérées à répétition depuis Spring. C’est terminé lorsque la régression signalée de l’utilisation CPU du consumer est corrigée et que le comportement concerné reste couvert par des tests.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java
Domaine
backend, performance
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.