【发布时间】:2012-03-28 17:43:18
【问题描述】:
我最近在工作中使用了新的 Macbook Pro,并注意到在 Maven2 中构建我们的代码库大约需要 15 分钟,而我团队中使用稍旧的 Macbook(但类似/相同规格)的其他人大约需要 5 分钟。四处打听后,我发现我团队中的另一个人构建需要 15 分钟以上。我说的是重新检查代码,我们所有人都使用相同版本的 Maven (2.2.1) 和 Java 版本:1.6.0_29,从项目的根目录运行“mvn clean install”。我们两个构建速度慢的人都在 Lion (10.7.3) 上,而构建时间为 5 分钟的人都在 Lion 或 Snow Leopard 上。我的机器有 8GB RAM 和 2.3 GHz i7,所以这似乎不是问题。 AFAIK,这台机器配备了 Lion(而不是从 Snow Leopard 升级而来),所以我不认为它是从 Snow Leopard 升级的,这似乎有些人遇到了问题。我们的慢速构建都有 5400 RPM 驱动器,而大多数其他人都有 7200 RPM 驱动器,但是,唉,其他 5 分钟构建的人中的一个与我们有完全相同的 5400 RPM 驱动器......所以那种规则出那个理论。
我已经运行了内存测试(检查正常),在磁盘工具中运行磁盘验证和权限修复(修复了一些权限问题,但没有更改构建时间),禁用交换,确保文件库已关闭,构建从不同的目录,一切都无济于事。一些有趣的点让我怀疑是操作系统问题:
- 我在所述机器上有一个 Ubuntu 虚拟机,在其中执行“mvn 全新安装”甚至比在 OSX 中本地运行要快得多(10 分钟对 15 分钟)!仅供参考,我们团队中的本地 Ubuntu 人员也构建了大约 5 分钟。几个月前,当我在我的 Windows 机器上的虚拟机中运行 Ubuntu 时,构建平均需要 15-20 分钟。
- 正常情况下,自行构建项目中最慢的组件大约需要 3-4 分钟。这个组件的有趣之处在于它的代码非常少。事实上,它只是一个测试用例和 135 MB 的资源文件。在这 3-4 分钟中,我数了一下大约有 100 多秒是在“复制 63 个资源”上。
- 在 OSX 安全模式下运行,构建上述最慢的组件仅需 42 秒,其中大约 7 秒用于复制 63 个资源。
目前我不确定还可以尝试什么,但我觉得我已经非常接近确定了。如果不是如此显着的差异,我不会那么担心,但 15 分钟与 5 分钟在我的工作流程中是巨大的。将我的工作电脑交给 Apple Genius 人员我感觉很不舒服,而且我们的 IT 人员不是 Mac 人员。重新安装操作系统似乎是我在网上看到的答案,但这似乎有点过分和侵入性。 (我意识到这可能更像是一个 OSX 问题而不是 Maven 问题,但 Maven 一直是我的基准。我没有注意到任何其他缓慢,但如果不使用其他人的计算机就很难说)
有没有人遇到过这样的事情?关于尝试什么的任何想法?谢谢
【问题讨论】:
-
在我的工作场所,我的 OSX 机器上的构建速度比我个人的低规格机器慢,这是因为我的工作场所错误地将机器加入了 AD 域并安装了防病毒软件,我不知道具体原因,但两者都有相同的软件。除此之外,我的个人机器比具有两倍内存和两倍内核的更高规格的 RHEL 5.11 构建速度更快。
标签: performance maven-2 osx-lion