当前位置 : 主页 > 网络安全 > 测试自动化 >

性能 – Maven在OSX上构建3倍的速度

来源:互联网 收集:自由互联 发布时间:2021-06-22
我最近有一个新的Macbook Pro在工作,并注意到在Maven2中构建我们的代码库大约需要15分钟,而我的团队中的其他人使用稍微旧的Macbook(但类似/相同的规格)在大约5分钟内构建.在四处询问之后
我最近有一个新的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内存和2.3 GHz i7,所以它似乎不应该是一个问题. AFAIK,这款机器配备了Lion(而不是从Snow Leopard升级),所以我认为它不是从Snow Leopard升级而来的,似乎有些人有问题.我们慢速构建的都有5400转的驱动器,而其他大多数都有7200转的驱动器,但是,其中一个拥有5分钟构建的其他人拥有与我们完全相同的5400转驱动器…所以这样的规则出了那个理论.

我运行了内存测试(检出正常),在磁盘工具中运行磁盘验证和权限修复(修复了一些权限问题,但没有更改构建时间),禁用交换,确保filevault关闭,从不同构建目录,一切都无济于事.一些有趣的观点让我怀疑操作系统问题:

>我在这台机器上安装了一个Ubuntu虚拟机,在那里进行’mvn clean install’甚至比OSX中的本机速度快得多(10分钟对15分钟)!仅供参考,我们团队中的本地Ubuntu人员也建立了大约5分钟.几个月前,当我在Windows机器上的VM中运行Ubuntu时,构建平均为15-20分钟.
>构建项目中最慢的组件通常需要3-4分钟.关于这个组件的有趣之处在于其中的代码非常少.实际上,它只是一个测试用例和135 MB的资源文件.在3-4分钟的时间里,我计算了大约100秒的“复制63资源”.
>在OSX安全模式下运行,构建上述最慢的组件仅需42秒,其中大约7秒花费在复制63个资源上.

我不确定在这一点上还有什么可以尝试,但我觉得我已经非常接近于将其钉死.如果没有这么显着的差异,我不会那么担心,但在我的工作流程中,15分钟对5分钟是巨大的.将我的工作电脑交给Apple Genius家伙,我感到很不舒服,我们的IT人员不是Mac人.重新安装操作系统似乎是我在网上看到的答案,但这似乎有点过分和侵扰性. (我知道这可能是一个OSX问题,而不是Maven问题,但Maven是我的基准.我没有注意到任何其他的缓慢,但很难说没有使用其他人的计算机)

有人遇到过这样的事吗?关于尝试什么的任何想法?谢谢

在您的计算机上运行mvn -X …命令,并在快速计算机上运行mvn -X …命令,并比较日志文件中的任务/插件所花费的时间.这应该给你一个起点.两个最慢的部分是文件系统扫描和网络访问,用于检查工件/依赖项/插件更新.

前者可以通过调整磁盘访问(例如缓存或切换到SSD)来改进.

后者可以通过添加Maven存储库管理器来改进,例如Nexus或Artifactory,它们可以缓存和优化对所有远程Maven存储库的访问.

网友评论