LinqToCSV library and large report

So I have been doing a bunch of work to improve one particular report in our product.  This report is basically a data dump of almost every inventory item a customer might have at there district.  When this report is executed the memory load for this report was about 300 Megs and would linger in memory for 15 minutes before the GC cleared it out.  Well, image several users at that site running this report and you can see it would bring a server to its knees.  My short term target was to get the memory released as quick as possible and the long-term goal is to implement SQL Server Reporting Services on a reporting server.

As of this weekend I have accomplished my first goal.

I used Telerik’s Tracing tools to profile the application to ensure I actually did accomplish my goals.  Take a look…

Click here to view the slides below in power point 2013.

Slide2

Slide3

Slide4

Slide5

Slide6

Slide7

Now after my code updates I have the following results…

I clicked on the Report Link .

This start point was: 16:31:11

The report data began streaming to the IIS Server Memory at: 16:31:56 and 16:32:08

The memory then cleared out a second or two after that.

final

My next post will go over the steps I used to accomplish this.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s