I just had a call from a client with some big problems on their server that has IIS and SQL Server on it.
Their most used application that interacts directly with SQL Server was having problems – from many computers and randomly throughout the application.
I watched the SQL Server profiler and saw rpc requests coming in and occasionaly that request was not being followed by a BatchCompleted.
Also on that server, things were really slow.
A quick peek in the task manager showed a very bloated ASP.Net worker process (w3wp.exe). On the first call to a particular webservice, it was flying up from about 108,000K to over 550,000K.
Restarting that application made the memory drop back down to 108,000 or so.
I checked everything I could think of and tested each time after I made a change. Still the worker process was bloating.
Finally, I targetted two little seemingly innocent lines in my web.config. The flags whcih enable wse2 to trace it’s incoming and outgoing messages to xml files and also policy tracing. These are simple settings in the WSE2 config tool.
I commented them out and voila – all was well again.
Lesson learned – remember to turn of the darn analysis tools in a live app when you are not using them.
Crisis averted – phew!
Sign up for my newsletter so you don't miss my conference & Pluralsight course announcements!