R和SQL Server AzureVM之间的数据传输速度降低

时间:2018-11-09 09:16:12

标签: r sql-server azure rodbc

我们在Azure中有两个虚拟机,第一个使用Ubuntu 18.04和RStudio,第二个使用SQL Server 2017实例。这两个VM均为“ Standard H8m”,在同一Azure订阅中,并且根据Azure建议我们固定了它们的连接。

每个月,我们在R机器中执行某种ETL,这些ETL通过RODBC库和FreeTDS驱动程序连接到SQL Server,并进行一些查询以获取数据。

通常,每个查询花费的时间少于5分钟,并带来约500万行(仅有2列)。但是,本月每个查询的查询量大约增加了5倍,这使得我们的ETL执行无法接受。

查询的计算并不复杂:

select b.ColumnOne, a.ColumnTwo
from TableOne a, TableTwo b
where b.Date = 201809
  and a.TableOrigin = "TableTwo"

TableOne有2000行,TableTwo按“日期”列进行分区,每个有30个日期和2.000.000.000行。

当我们在Management Studio中执行这些查询之一时,显示所有结果大约需要10秒钟,因此我们假定延迟是由网络连接产生的,而不是由计算成本引起的。但是,我们不知道为什么这个月的数据传输速度下降这么快。

当我们从R机执行这些查询之一时,在ManagementStudio监视器上,我们看不到任何数据库I / O(图形停留在0.1 MB /秒)。这对我们来说很奇怪,因为它必须读取很多行,并且主要是因为我们还记得其他月份,查询在开始的第一秒以大于200MB /秒的速度开始执行查询。

我们相信,本月我们不会对R库或驱动程序进行任何更新或更改。

问题是,SQL Server 2017中是否有任何更改或更新会影响SQL Server计划远程查询的方式?如果不是这样,我们不知道会有什么延迟,所以我们可以接受任何建议。

0 个答案:

没有答案