Noticed today that the webapp struggles as it gets to within 50 meg of the virtual memory limit threshold for recycling the app pool. This happens no matter what the threshold is set to. 2 gig, 1.7, 1.6. Same thing. We speculate it is going into GC (garbage collection) mode, and CPU gets high. It hits the limit, recycles, and is happy again for an hour. Since it was recycling around once an hour, I thought I’d remove the memory limit, and just recycle once an hour. Bad Thing. With no memory limit, URL Rewrite 2.0 kills the CPU. We were pinned at 100% in 45 minutes.
Conclusion: hard won tuning settings are always worth questioning, but if they run reliably and keep you up, it’s unlikely that disabling a setting will do anything but expose other problems.
Probably worth looking at the registry settings for relations between memory and CPU for rewrite.dll but the solution is likely to be less use of the dll overall, combined with memory threshold recycling.