来自 Mulesoft API 的 Azure SQL 调用间歇性延迟长达 15 分钟以上

问题描述 投票:0回答:1

我们在 Mulesoft 4.4 中创建了多个集成,连接到 Azure SQL Server DB 以进行正在进行的项目。我们在这些调用的“开始”和“结束”事件之间面临间歇性延迟问题,即从向 SQL Server DB 发送请求到接收响应的时间。延迟时间长达 15-16 分钟。我们在 Mule DB 连接器上使用具有自定义属性的连接池。数据库调用是存储过程,通常以毫秒为单位响应。

您能否提供解决延迟问题的建议或建议?

池化配置文件

<db:pooling-profile maxPoolSize="50" minPoolSize="10" preparedStatementCacheSize="0" />

附加属性:

loginTimeout= 30 Seconds
sendStringParametersAsUnicode= false

80% 的调用按预期工作,并在几毫秒内返回响应。异常值是其余 20% 的呼叫需要 15 分钟以上才能响应。我们尝试了多种解决方案,包括连接器版本升级、依赖项升级以及数据库连接器上的其他自定义属性,但均无济于事。我们看到性能略有改善,但延迟仍然存在。我们与 DBA 合作,也没有发现 SQL Server 端有任何问题。我们不仅在 Cloudhub 上遇到延迟,而且在本地运行 Mule 应用程序时也会遇到延迟,所以这不是 Cloudhub 问题。

sql-server database azure-sql-database mule mule4
1个回答
0
投票

当您看到查询有时需要 15 分钟的运行时间,而其他时候具有相同参数的相同查询在几秒钟内运行时,您可以尝试的一件事是启用 AUTO_UPDATE_STATISTICS_ASYNC 并允许查询不使用最新版本运行统计。

确保按照另一个线程中的说明每天更新统计信息和碎片整理索引。如果您已设置此功能,请继续启用 AUTO_UPDATE_STATISTICS_ASYNC。

© www.soinside.com 2019 - 2024. All rights reserved.