How to determine total size of ASP.Net cache?

I’m using the ASP.net cache in a web project, and I’m writing a “status” page for it which shows the items in the cache, and as many statistics about the cache as I can find. Is there any way that I can get the total size (in bytes) of the cached data? The size of each item would be even better. I want to display this on a web page, so I don’t think I can use a performance counter.

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

I am looking at my performance monitor and under the ASP.NET Apps v2.0.50727 category I have the following cache related counters:

Cache % Machine Memory Limit Used

Cache % Process Memory Limit Used

There are also a lot of other cache related metrics under this category.

These should be able to get you the percentage, then if you can get the total allowed with Cache.EffectivePrivateBytesLimit or some other call you should be able to figure it out. I do not have personal experience with these counters so you will have to do some research and testing to verify.

Here is a quick start article on reading from performance counters:
http://quickstart.developerfusion.co.uk/quickstart/howto/doc/PCRead.aspx

Method 2

Have not tried it. But maybe you can use Cache Manager plug-in for ASP.NET. Or use it as example.


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x