Telerik Report Rendering Process Performance Issue

  • Post published:July 30, 2015

A web-based commercial and SBA lending software was developed that manages the origination, processing, closing, and monitoring of small business loan portfolios. With the loan management system, lenders can think big and reimagine what modern business lending can be. It was developed by using Microsoft Visual Studio 2013(.NET 4.5), Bitbucket (Git), ASP.NET MVC, C#, Web API, MS SQL Server 2012, Single Page Application, Kendo UI Controls and Charts, Telerik Reporting, jQuery, Backbone.js, Marionette.js, Require.js, Underscore.js tools and technologies.

Problem:

Telerik report rendering process was considered too slow.The reason was discovered to be that the ICache caching technique was implemented for Telerik reporting, but the report rendering process was very slow. The Client wanted vteam #397 to analyze the problem and implement its fix, so the overall report rendering process needed to be improved.

Solution:

During R&D, it was found that Telerik Reporting provides caching mechanism using two techniques:

1) ICache:

ICache is a legacy caching approach and it does not support multiple service instances deployment.

2) IStorage:

IStorage is a preferred storage method by Telerik Reporting over ICache due to its enhanced functionality, allowing the service multiple instance support and specific implementation (MS SQL Server Storage) for MS SQL Server.

IStorage approach requires extra tables (if database approach is used) and a locking mechanism is provided which guarantees the serialized state access.

Comparison:

[table id=63 /]

Performance was significantly improved by replacing legacy ICache caching technique with IStorage caching technique which is preferred by Telerik Reporting due to its specific implementation for MS SQL Server as mentioned above.

Conclusion:

This solution improved the performance of Telerik report rendering process as well as provided support for multiple service instances deployment.