Many small reports makes the TimeProcessing goes up and down RRS feed

  • Question


    SSRS 2014 Standard, latest SP and latest CU.

    We have a small report that easily runs in 200 milliseconds. With TimeProcessing around 20 milliseconds (from the ExecutionLog3)
    (label print to XML file)

    But I now see a bad trend.
    If 5 users run this small report at the same (human) time, the TimeProcessing jumps up to 20,000 milliseconds, sometimes even 40-60,000 ms.
    TimeProcessing goes like this (example):
     1st report at 16:20:01.000 :     20 ms
     2nd report at 16:20:01.015 :  8,000 ms
     3ed report at 16:20:03.000 : 20,000 ms
     4th report at 16:20:08.000 : 35,000 ms
     5th report at 16:20:12.000 :  5.000 ms
    and then maybe no reports in 2 minute, and we back to very fast report.

    What we have tried already:
    We thought it was the virtual host, not providing enough CPU, so we move to a physical server. Did not help/change.
    Looked at MaxQueueThreads, but did not change it, as the physical server have 6 cores + hyperthread, that should give the number 24.
    Looked at other customers SSRS (2008-2014), the trend is the same. As soon you have 2 reports in the same 10 milliseconds, the TimeProcessing goes dramatically up.
    Same report and other report also.
    Look at the windows process with different tools like PerfView , ProcessMonitor ect.
    Looked at counters in PerfMon.
    Looked at blocking locks / waits in the SQL server.
    Nothing give any clue on what the SSRS is waiting on/doing. And what to improve.
    We split out to 4 SSRS (on the same server), so now we more seldom gets 2 reports in the same 10 milliseconds. This have helped somewhat.

    What I want to look at next:
     - automatic statistics update on tables? Are we waiting on this?
     - the use of cache dataset and cache reports. Are we waiting here?

    Anybody have any clue / hint on this matter or how to investigate it?

    Thursday, November 14, 2019 3:06 PM

All replies

  • Hi Jens,

    This is a hard one. As I went through the case, I found only useful info:

    The number of milliseconds spent in the processing engine for the request.  This value includes:
    - Report processing bootstrap time 
    - Tablix processing time (e.g. grouping, sorting, filtering, aggregations, subreport processing), but excludes on-demand expression evaluations (e.g. TextBox.Value, Style.*)
    - ProcessingScalabilityTime (see AdditionalInfo column)

    I'll keep digging also hope other community member could provide valuable insights.

    Thanks & Regards,


    MSDN Community Support Please remember to click Mark as Answer; the responses that resolved your issue, and to click Unmark as Answer if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact

    Friday, November 15, 2019 7:10 AM