• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 392
  • Last Modified:

inet cache expiry affecting response times

Hey guys/gals.
Have another .net issue.

When testing my system under load, and the inet cache is turned on, with an inet cache expiry set to 60 mins, after 60 mins, we get a massive drop in transaction response times, and then a spike again to where it was, and this goes on for another hour.

We've done a bunch of digging around and have no idea why its doing this. If anything, the response times should spike when it dumps its cache and has to go back to the database to get the objects again....

Here is what the response times look like.

Response times with caching.

Note : When we turn off the inet cache, we don't get this behavior, response times are stable, however a little worse (as expected) due to no caching.

These are 2 response times on the graph.
  • 2
1 Solution
Not a .NET guy, but I could there be some type of "cache" cleanup?  Sort of like garbage collection in Java?
samabdelhamidAuthor Commented:
Yeah, there's GC in .net.
In fact, GC originated with .NET,  then it became standard in java, and that's how it got big...

What we see in that graph, is GC.
Everything makes sense ie., Gen 0,1 and 2 heap size all drop, GC goes up, etc.
However, it shouldn't affect it that much. The drop in response times are significant. In fact they are huge....
We can't understand why the drop is so high, or why it affects the response times so much.

Could we be caching too much and it's having a massive impact when the cace expires..?
I know in some of our early Java apps when GC ran it impacted performance drastically.  

I was not directly involved and this was 10 years ago, but IIRC we were led to believe is that it was due to a combination of things  various things.

The amount of memory the JVM was allowed to use along with the amount of things we were caching and what programs were not cleaning up.

When GC ran if there was a lot of stuff to clean up thrashing started as things were "re-cached."  The people that set it up originally limited the amount of memory the JVM was allowed to use because of limited physical RAM and they did not want to do any paging.

Since I not a .net guy, I can only suggest things based on Java.  So, I would suggest you look at how much you are caching, how much memory .net is using, and how much it is allowed to use.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now