【问题标题】:Improve Dynamics CRM Solution Import Speed提高 Dynamics CRM 解决方案导入速度
【发布时间】:2012-12-18 17:13:47
【问题描述】:

我们的 Dynamics CRM 解决方案非常庞大,在我们的服务器上完成导入需要 20 到 25 分钟。

在 Dynamics CRM 托管服务提供商上测试导入过程时,导入所用时间明显缩短,大约 8 分钟。

为了查看硬件是否可以提高导入速度,我在 VMware Workstation 8 中使用 Dynamics CRM 设置了一个虚拟机。该虚拟机位于 SSD、4 核(来自 6 核 i7-3930K)上,并具有 12 GB RAM。仍然花了大约20分钟。我尝试了 SQL 2008 R2 SP2 和 SQL 2012,没有明显区别。

如何在软件方面提高导入速度?是否有任何关于导入过程的详细信息的可用信息,以便我们可以围绕这些变量进行优化?

该解决方案包含 60 多个实体、40 多个系统实体的自定义、插件、功能区按钮、站点地图更改、处理步骤和数百个 Web 资源。它目前略高于 6MB。

另外,我如何知道哪个硬件组件是导入过程的最大瓶颈? Perfmon 显示 SSD 在大部分导入过程中处于空闲状态,RAM 为 6.5 GB,只有处理器显示相对较高的使用率,但不超过 30%-40%。或者,VMware Workstation 本身是否是瓶颈,而专用硬件或 ESX/Hyper-V 会改善这一点?

【问题讨论】:

  • 仅导入解决方案文件本身需要 20 到 25 分钟?
  • 从在浏览器中单击导入到 CRM 准备好使用安装的新解决方案需要很长时间。

标签: dynamics-crm-2011 dynamics-crm


【解决方案1】:

尽管它可能是四个核心,但导入过程本身在单个线程上运行,因此这可能解释了 CPU 使用率相对较低的原因 - 一个核心(加上另一个核心)非常努力工作,相当于 30-总 CPU 的 40%。我敢打赌,即使您只给虚拟机一个内核,您也会看到类似的时间(可能会更长,但不多)。

你真正的问题是你的解决方案实在是太大了。将其分解为组件。测试您是否可以将性能问题缩小到某些自定义项。例如,我将开始删除所有 Web 资源,看看这对导入有何影响。

另一种方法是将其拆分为两种解决方案 - 一种是“稳定的”,另一种正在积极开发中。然后您会更频繁地导入较小的解决方案。

【讨论】:

  • 解决方案可能很大,但仍然无法解释为什么在托管服务提供商的硬件上导入速度要快得多。尽管如此,拆分听起来对我来说非常有趣,可以通过不断的导入和导出来提高开发效率。但是,既然我们想向我们的客户提供一个托管解决方案,我们将如何在向客户发货之前合并所有这些小型非托管解决方案?
  • 我不确定您的开发环境是如何设置的,但这可能就像将“小型”解决方案部署到暂存环境中一样简单,然后在暂存环境中使用托管解决方案包括所有组件。您的工作流程是将大量小型解决方案部署到 Staging,然后将一个大型解决方案从 Staging 导出/导入到生产(或客户)。
【解决方案2】:

保证您不会在真实硬件上获得任何更差的性能。但是由于您的 VM 没有使用现有的所有内容,因此您应该能够提高性能而无需执行该步骤。您是否厌倦了更改 VM 中的 IIS 设置?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多