0

我有一个 BizTalk 应用程序,它在 XML 上循环并将数据发送到 SQL 服务器数据库。在整个过程中,编排在 DEV 机器上运行良好并且是一致的。但是,如果我在 QA 机器上处理相同的文件,它会以相同的速度启动,然后性能会不断下降。数据库对象没有问题,节流设置与 DEV 相同。我重新启动了机器。不知道为什么 QA 对这个应用程序有这种反应。

需要检查哪些区域?

4

3 回答 3

1

有多种因素会导致这种情况以及您的解决方案的整体性能:

  1. QA 是否是一个共享环境,即是否有其他可能导致速度变慢的解决方案?

  2. 如果您正在共享正在运行编排的主机,则该主机可能由于内存问题等各种原因而受到限制,请使用性能计数器监控主机限制状态。

  3. 您在编排中可能有太多持久点,因为您正在循环并将消息发送到循环中的 sql db。如果您使用发送形状,它将导致每个发送循环中的持久点,会显着降低性能。
  4. 隔离问题,即编排运行缓慢还是发送到 SQL 需要时间。
  5. 跟踪已打开且 DTA 作业未运行
  6. 消息清理作业在 QA 中未按预期运行
于 2015-03-10T16:40:31.667 回答
0

BizTalk 主机受到限制,因为 DatabaseSize 超出了配置的限制限制。此外,SQL Server 代理未在服务器上运行,因此清除进程未运行。随着时间的推移,这看起来已经建立了数据库大小,直到 Biztalk 由于资源不足而限制了应用程序

于 2015-03-12T20:21:23.857 回答
0

我写了一篇关于如何使用 SQL Server Profiler 捕获从 BizTalk 到 SQL Server 的 RPC 调用的博客。您可以以这种方式隔离 SQL 是否导致问题;捕获 DEV 或 QA 上的 RPC 调用,然后尝试仅在 QA 上运行存储过程。如果它的运行速度不如 DEV,那就是你的问题。如果是,请查看您的 BizTalk 工件。

这是博客:http ://blog.tallan.com/2015/01/09/capturing-and-debugging-a-sql-stored-procedure-call-from-biztalk/

于 2015-03-11T04:22:00.063 回答