Skip to content

Dubbo2.7.7 ReferenceBean导致的严重性能问题,影响应用启动 #12498

@spilledyear

Description

@spilledyear
  • Dubbo version: 2.7.7
  • Operating System version: macos
  • Java version: 1.8

Steps to reproduce this issue

基于日志调试,最终定位到耗时代码在: AnnotatedInterfaceConfigBeanBuilder#configureBean 方法中,那就针对这个方法采集一下火焰图,如下:
image

image

每个ReferenceBean在初始化的完成后都要执行这个方法。通过日志,项目中220ReferenceBean的时候,执行了8400多万次。而如果ReferenceBean#prepareDubboConfigBeans只执行一次,isFactoryBean之会执行5000万次。 这种情况下, 启动耗时最少可以提升10s

优化

我们的想法是改成只执行一次,例如:
image

这目前测试下来没发现什么问题,但不确定这样是否会产生什么副作用呢

Metadata

Metadata

Assignees

No one assigned

    Labels

    type/bugBugs to being fixed

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions