【问题标题】:Slow SSRS report when the Datasource is on Azure当数据源在 Azure 上时,SSRS 报告缓慢
【发布时间】:2017-04-26 22:03:12
【问题描述】:

我有一个已经存在几年的现有 SSRS 实例。数据数据库在同一个盒子上,并且报告总是很快加载。

我正在将数据 DB 移到 Azure 中,并且渲染时间猛增。数据集是一个存储过程,在 SSMS 中执行时间不到一秒。此报告还会立即加载到 BIDS 中。一旦它在 SSRS 服务器上,它需要 30 秒。

Azure 上的数据:

    <EstimatedMemoryUsageKB>
    <Pagination>4</Pagination>
    <Processing>13</Processing>
  </EstimatedMemoryUsageKB>
  <DataExtension>
    <SQLAZURE>1</SQLAZURE>
  </DataExtension>
  <Connections>
    <Connection>
      <ConnectionOpenTime>1</ConnectionOpenTime>
      <DataSets>
        <DataSet>
          <Name>ProjectTasks</Name>
          <RowsRead>9</RowsRead>
          <TotalTimeDataRetrieval>30034</TotalTimeDataRetrieval>
          <QueryPrepareAndExecutionTime>0</QueryPrepareAndExecutionTime>
          <ExecuteReaderTime>22</ExecuteReaderTime>
          <DataReaderMappingTime>0</DataReaderMappingTime>
          <DisposeDataReaderTime>0</DisposeDataReaderTime>

数据与 SSRS 在同一台服务器上:

  <EstimatedMemoryUsageKB>
    <Pagination>4</Pagination>
    <Processing>12</Processing>
  </EstimatedMemoryUsageKB>
  <DataExtension>
    <SQL>1</SQL>
  </DataExtension>
  <Connections>
    <Connection>
      <ConnectionOpenTime>1</ConnectionOpenTime>
      <DataSets>
        <DataSet>
          <Name>ProjectTasks</Name>
          <RowsRead>8</RowsRead>
          <TotalTimeDataRetrieval>1</TotalTimeDataRetrieval>
          <QueryPrepareAndExecutionTime>0</QueryPrepareAndExecutionTime>
          <ExecuteReaderTime>1</ExecuteReaderTime>
          <DataReaderMappingTime>0</DataReaderMappingTime>
          <DisposeDataReaderTime>0</DisposeDataReaderTime>
        </DataSet>

这不会发生在我的所有数据在 Azure 上的报告中,只是一些。我已经尝试使用 RECOMPILE、OPTION OPTIMIZE 修改我的存储过程,并将 SP 的参数分配给内部变量。 TotalTimeDataRetrieval 没有任何变化。

我的 Azure DB 是 S2 标准(50 个 DTU)。我一整天都没有看到它超过 1% 或 2%。

【问题讨论】:

  • 您是否在混合环境中工作?例如您的 SSRS 在本地运行而数据库在 Azure 云中?
  • SSRS 位于我们内部网的专用服务器上。是的,数据库在 Azure SQL 上
  • 嗯...我认为问题可能与带宽问题有关
  • 我的本地机器上的 SSMS 或 BIDS 中不会显示这些吗?
  • 在您的网络浏览器上按 F12...检查网络选项卡并重新加载页面...检查渲染时间过长...如果您愿意,也可以截屏并添加你的问题

标签: reporting-services azure-sql-database


【解决方案1】:

我不确定某些内容是否被错误地缓存或实际原因是什么,但我注意到我的问题报告都有一个存储过程作为数据集的查询类型。我将其更改为文本,问题就消失了。我把它改回存储过程,它仍然是固定的。

我在问题中的子报告从 30 秒变为 450 毫秒。整个报告从 2.5 分钟缩短到 4 秒。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-27
    • 1970-01-01
    • 2016-04-30
    • 2018-02-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多