代码之家  ›  专栏  ›  技术社区  ›  Orion Adrian

Reporting Services使用的CPU不会超过25%

  •  2
  • Orion Adrian  · 技术社区  · 16 年前

    我已经建立了一个解决方案来创建快速Fire PDF报告。目前看来,我无法让ReportingServices使用它所拥有的所有资源。系统似乎未绑定IO、CPU或内存。有什么建议想知道它为什么会这样运行吗?

    应用程序不受网络IO限制,它是多线程的,处理器数量的2倍。

    6 回复  |  直到 16 年前
        1
  •  2
  •   community wiki Orion Adrian    16 年前

    SQL Server Reporting Services将运行的报表数限制为2个同时运行的即席报表和2个同时运行的Web报表。这是服务器强加的一个硬限制。

        2
  •  0
  •   Christopher Edwards    16 年前

    Robin Day可能是对的,但是如果您使用的是支持超线程的处理器,那么 可以 通过在BIOS中关闭它,获得性能优势。您可以尝试A/B性能测试。

    您还可以检查SQL实例(当您说ReportingService时,您的意思是ssrs对吗?)没有已设置的处理器关联。

        3
  •  0
  •   Robin Day    16 年前

    这是不使用多线程方法的情况吗?机器是否100%使用处理器的一个核心,这就是瓶颈?

    编辑:很抱歉,在您提到它已经是多线程的之前,这只是一个想法。恐怕我不能再提任何建议了。

        4
  •  0
  •   ChrisW    16 年前

    有什么建议想知道它为什么会这样运行吗?

    a)有一个API将整个进程限制为一个CPU:使用 GetProcessAffinityMask .

    b)“线程状态”和“线程等待原因”是两个性能计数器…也许你可以读这个来看看为什么线程,我们认为应该运行,不是。

        5
  •  0
  •   Aaron Digulla    16 年前

    应用程序的所有线程都在争夺一个锁。使用分析器查看某个地方是否存在拥塞。

    如果您有四个内核,这就解释了为什么您看到25%的CPU总使用率。

        6
  •  -2
  •   Aaron Digulla    16 年前

    也许服务器不能通过网络传递更多的数据(所以它是网络IO绑定的)?