我已经设置了一个可以创建快速射击PDF报告的解决方案。目前,我似乎无法获得报告服务来使用它可用的所有资源。该系统似乎没有IO绑定,CPU绑定或内存绑定。关于试图弄清为什么会这样运行的任何建议吗?

该应用程序不是网络IO绑定的网络,它是多线程,是处理器数量的2倍。

有帮助吗?

解决方案

SQL Server报告服务将报告的报告数限制为2个同时的临时报告和2个同时的Web报告。这是服务器施加的硬限制。

其他提示

罗宾日可能是正确的,但是,如果您使用的是支持超线的处理器 可能 通过将其关闭在BIOS中,从而获得性能好处。您可以尝试A/B性能测试。

您还可以检查SQL实例(当您说报告服务时,您的意思是SSRS,对吗?)没有获得处理器亲和力集。

这是不使用多螺纹方法的情况吗?这台机器是否使用处理器的100%核心,这就是瓶颈?

编辑:很抱歉说明了显而易见的只是一个想法,然后您就提到它已经是多线程了。恐怕我不能再提供任何建议。

关于试图弄清为什么会这样运行的任何建议吗?

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

b)“线程状态”和“线程等待原因”是两个性能计数器...也许您可以阅读以了解为什么线程,我们认为应该运行,而不是。

您应用程序的所有线程都在争取单个锁。使用探查者查看某处是否有拥塞。

如果您有四个核心,那可以解释为什么您会看到25%的总CPU使用情况。

也许服务器无法通过网络传递更多数据(因此它的网络IO绑定)?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top