Virgo M02 里程碑性能提升 5 倍

工程 | Glyn Normington | 2010 年 7 月 8 日 | ...

Virgo 2.1.0.M02-incubator 可供下载。除了完成“入门指南”之外,此里程碑还显著减少了启动时间 - 在某些系统上高达 5 倍。

这应该会进一步激励 dm Server 用户迁移到 Virgo:Virgo 是未来开发的代码库,具有更宽松的许可,现在提供了更快的启动速度。

测量

我们测量了 Virgo Web 服务器在热启动(即没有 -clean)情况下的运行时间,并将 M02 里程碑与 M01 进行了比较。

在一台四核 Intel Xeon 2.66 GHz 机器上,启动时间从 68 秒减少到 12 秒,提高了 5.6 倍。

但是,某些其他系统无法达到相同的改进水平。例如,在一台双核 Intel Core i7 2.66 GHz 机器上,启动时间从(快如闪电的)15.4 秒减少到 14.2 秒,仅提高了 8%。

变更

性能分析表明,内存日志记录是启动期间的主要热点。 然而,我们在过去几年的实践和开发过程中发现,内存日志记录在实践中几乎没用。 内存日志缓冲区仅在转储中可见,但当发生转储时,转储的其他内容总是比日志条目更有趣和有用。 除了内存日志记录的开销之外,用于记录内存日志条目的循环缓冲区可能会使垃圾回收更加频繁,并增加标记活动对象的成本。

这显然是一种权衡,但我们相信许多用户将受益于速度的提升,并且很少甚至永远不会错过被抑制的日志条目。

其他变更

  • 避免了从入口/出口日志记录方面使用“cflowbelow”
  • 抑制了(经过良好测试且可靠的)构件仓库组件的方法入口/出口日志记录
  • 抑制了 getter 和 setter 方法的方法入口/出口日志记录

获取 Spring 新闻资讯

通过 Spring 新闻资讯保持联系

订阅

更进一步

VMware 提供培训和认证,以加速您的进步。

了解更多

获取支持

Tanzu Spring 在一个简单的订阅中提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区中所有即将举行的活动。

查看全部