0

我们已经安装了 BizTalk 2013 R2 并部署了一个简单的解决方案。

我们观察到 BizTalk 服务消耗的内存不断增长。

即使它完成了处理,它也不会下降。

请查看已完成测试的详细信息。

BizTalk 解决方案(包含 2 个架构、1 个映射和 1 个编排)。

情景 1

测试文件大小:2 KB 文件数:250 开始内存:12MB 结束内存:122 MB

情景 2

测试文件大小:2 KB

250个文件依次处理3次

起始内存 13.2 MB 结束内存 160 MB

情景 3

测试文件大小:2 KB

250个文件依次处理6次

起始内存 13.2 MB 结束内存 215 MB

4

2 回答 2

1

BizTalk 实际上会在内存中“缓存”程序集一段时间。

这实际上意味着下一次进程运行时,它的启动时间会更少,因为它已经在内存中了。

如果一段时间没有调用该进程,它将从内存中卸载它,除非您已将其配置为永久保留在内存中,这也是可能的。

如果您在 GAC 中更新程序集,这也是您必须重新启动 BizTalk 主机的原因。这迫使它从内存中卸载程序集,并且仅在需要它的进程运行时才加载它。

因此,您需要做的是在您的 BizTalk 服务器不处理这些文件时长时间监控它,最终您会看到它再次释放内存。

执行此监视和检测内存泄漏和其他问题的工具是日志性能分析 (PAL) 工具,这将帮助您记录来自性能计数器的数据,然后根据阈值分析结果以检测问题。

于 2014-11-19T21:11:15.687 回答
0

您是否在执行此测试后尝试运行任何其他应用程序/服务?如果其他进程需要内存,.Net 框架将激活 GC,您可能会看到它下降。

于 2016-02-26T15:07:19.787 回答