预订演示
前页 后页

性能考虑

本主题介绍了一些可提高模型性能的版本控制“最佳实践”,并简要说明了如何实现这些好处。

将版本控制应用于所有包

将版本控制应用于模型中的每个包。  使用方便的函数“将分支添加到版本控制”可以轻松实现这一点。

遵循这种做法可以显著提高版本控制性能。

Enterprise Architect中应用版本控制的机制是将描述包及其内容的信息从模型数据库导出到 XMI 文件,然后将其添加到版本控制存储库。如果版本控制仅应用于顶级包,则整个模型将导出并保存到单个 XMI 文件中。每次从版本控制中更新包时,无论是“选择输出”还是“获取最新版本”,包及其内容都会先从模型数据库中删除,然后再从关联的 XML 文件重新导入。在这种情况下,整个模型将从数据库中删除,然后再从 XML 重新导入。相比之下,如果所有包都受版本控制,则只有一小部分模型会导出到每个 XML 文件,并且在签出或更新包时也只有一小部分模型会被删除并重新导入。

通过这种做法,编辑模型的并发访问也得到了极大的改善。

当一个受版本控制的包被签出时,该包及其内容将被锁定,其他用户无法访问 - 只有签出该包用户才能编辑它。如果版本控制仅应用于顶级包,当一个用户签出该包时,整个模型将被锁定,阻止任何其他团队成员进行修改,直到第一个用户签入顶级包,然后另一个用户签出。另一方面,如果版本控制应用于包层次结构中的多个级别,则在签出父包时,独立控制的子包不会受到影响。因此,如果一个用户签出一个包进行修改,第二个用户仍然可以同时签出另一个包并对该包进行修改。

选择“仅导入已更改的文件”以获取所有最新内容

重新导入未更改的包文件会显著降低“获取所有最新”函数的性能。因此,为了获得最佳性能,请勿重新导入未更改的包文件。调用“获取所有最新”命令时,系统会提示您选择要导入的文件。您应该始终选择“仅导入已更改的文件”选项。

对于共享模型环境,当使用“仅导入更改的文件”选项时,“获取所有最新文件”命令将通过从模型数据库重新加载图表和浏览器窗口内容来刷新模型视图。如果选择“始终导入”或“提示每个文件”,则会强制Enterprise Architect从模型数据库中删除包,然后将完全相同的信息重新导入模型。

当使用共享模型环境时,所有用户都连接到单个模型数据库,因此无需从版本控制中重新导入包文件。模型数据库中的信息始终与提交到版本控制中的内容相同或更早。在这种情况下,版本控制中的信息在提交到版本控制之前已从模型数据库中导出。您根本无法从版本控制存储库将新信息导入模型。当使用私有模型环境时,每个用户都连接到模型数据库的私有副本,重新导入自上次更新以来未更改的包文件仍然没有任何好处。这只会延长操作完成所需的时间。

使用单一版本控制配置来控件模型中的所有包

最大限度地减少模型中版本控制配置的数量将缩短模型加载时间。  在单个Enterprise Architect模型中使用多个版本控制配置将延长加载模型所需的时间。

虽然可以使用许多不同的版本控制配置来控制模型中的不同包,但除非您有特殊原因,否则应该对模型中的所有包仅使用一种配置。当Enterprise Architect加载使用版本控制的模型时,它会验证模型加载过程中是否可以与每个版本控制配置正确通信。根据版本控制提供程序,EA 会在与版本控制配置关联的工作副本文件夹中发出诸如“状态”之类的命令,该命令验证工作副本文件夹是否存在且可以访问,以及版本控制客户端是否可以与版本控制服务器通信。所有这些都需要时间。当一个模型中存在多个版本控制配置时,这会对加载模型所需的时间产生重大影响。