Home Forums Reporting Services Reporting Services How can we check which report is currently in rendering state in SSRS 2008 RE: How can we check which report is currently in rendering state in SSRS 2008

  • Sue_H - Wednesday, April 26, 2017 12:09 PM

    izhar-azati - Wednesday, April 26, 2017 10:39 AM

    Is it started around 2017-04-11?
    In my system some of the reports take long long time and sometimes ended with timeout.
    I  suspect that some hidden updates of Microsoft are the root case.
    (sql 2008 R2 SP3)

    Not likely related to updates - especially with it being on 2008 R2.

    You really can't guess. You need to start by actually checking things like report statistics, Perf Mon counters, look at how all of Reporting Services is installed as you never did answer anything about that. You can get a general idea of overall report statistics since 4/11/2017 by executing the following in the Report Server database:
    SELECT ItemPath,
    COUNT(TimeStart) Executions,
    AVG([RowCount]) NumberOfRows,
    AVG(ByteCount) Bytes,
    AVG(TimeDataRetrieval)Retrieval,
    AVG(TimeProcessing)Processing,
    AVG(TimeRendering)Rendering
    FROM ExecutionLog3
    WHERE TimeStart >= '4/11/2017'
    GROUP BY ItemPath

    Times are in milliseconds
    Null item paths are usually adhoc executions (i.e dynamically generated from drillthrough report) or a Report Builder report that is previewed on in the Report Builder on the client.

    Sue

    Sue_H,

    This is a established environment. but we are facing issue in this month-end only. 
    Server A - has reporting services, Report DB and ReportTempDB,
    Server B - has source database (transnational), where reports hit to get the data (both server has high end configuration - 128 GB RAM, 32 core CPU).

    1. Reports are retrieving the data in Sec. but rendering time is high. We retrieving the information from below query 

    SELECT c.Name,ByteCount/1024/1024 as ByteCount_MB, [RowCount],TimeStart,TimeEnd,TimeDataRetrieval/1000/60 TimeDataRetrieval_MIN
    ,TimeProcessing/1000/60 TimeProcessing_MIN
    ,TimeRendering/1000/60 TimeRendering_MIN
    FROM dbo.ExecutionLog el
    INNER JOIN dbo.Catalog c
    ON c.ItemID = el.ReportID

    WHERE TimeStart BETWEEN '2017-04-27 9:30:48.887' AND '2017-04-27 18:50:48.887'
    AND ((TimeProcessing/1000/60)>1 OR (TimeRendering/1000/60) >1)
    ----AND Name LIKE '%INBEV101%'
    ORDER BY
    (TimeRendering/1000/60) desc

    2. Most of the time, we don't see any request from report server (Server A)  at Server B (Source data server). but still reporting services consume high CPU approx (80-90 +)
    3.

    We suspect that reports are caught in rendering at Server A and making queue. That's why Reporting service consuming high CPU

    ."

    So Is it possible, we can get information which reports are currently rendering ? and Can we clear rendering queue ?