文章预览
(给 ImportNew 加星标,提高Java技能) 一个其他团队的比较老的 Dubbo 服务,Spring 的版本在 3.2.x 范围,用的还是 Spring 那一套。 由于这个服务比较核心,而且集成的组件比较多:RabbitMQ、Dubbo、ElasticSearch、Kafka、ZooKeeper、Redis、CAS 等一系列组件,然后开发的痛点就是本地启动时间太慢了,常常耗时接近 10 分钟、机器配置差点夸张到 10+。抱着好奇的心理开始这一次排查之旅。 启动耗时: Artifact xxxx:war exploded: Deploy took 730,358 milliseconds 优化成果: Artifact xxxx:war exploded: Deploy took 95,078 milliseconds 由于老服务启动日志偏少,索性开始之前使用过的 JProfiles 来作为本次的分析工具,它可以实时侦测所有代码的运行耗时。对一些启动慢链路追踪有非常好的帮助。 Jprofile - CPU 检测 通过 JProfile 检测,发现了一个比较耗时的点,就是: 这个类的作用是: // 通过反射
………………………………