Web Debug

Fix broken web applications, from servers to clients.

Memory Based Recycling in IIS 6.0

Memory Based Recycling in IIS 6.0


The following points summarize good practices when using memory based recycling:

  • Configure IIS so it logs all recycle events in the System Log.
  • Use memory recycling only if you understand the application’s memory usage patterns.
  • Use memory based recycling as a temporary workaround until permanent fixes can be found.
  • Remember that memory based recycling may not work as expected when the application consumes very large amounts of memory in a very short period of time (less than a minute).
  • Closely monitor recycles and ensure that they are not too many (reducing the performance and/or availability of the application), or too few (allowing memory consumption of the application to create too much memory pressure on the server).
  • Use overlapped recycling when possible.

<!--more--> The documentation suggests setting the Virtual Memory threshold as high as 70% of the system’s memory, and the Used Memory as high as 60% of the system’s memory. However, for recycling purposes, and considering that during the recycle two processes must run concurrently, these settings could prove to be a bit aggressive. As an estimate, for a 32 bit server with 4 GB of RAM, the Virtual Memory should be set to some value between 1.2 GB and 1.5 GB, whereas the Private bytes should be around 0.8 GB to 1 GB. These numbers assume that the application is the only one in the system. Of course, these numbers are quick rules of thumb and do not apply to every case. Different applications have very different memory usage patterns.

Recycling on a Used-Memory Threshold (IIS 6.0)

Recycling on a Virtual-Memory Threshold (IIS 6.0)

Web Performance Best Practices

Web Performance Best Practices

by google

When you profile a web page with Page Speed, it evaluates the page's conformance to a number of different rules. These rules are general front-end best practices you can apply at any stage of web development. We provide documentation of each of the rules here, so whether or not you run the Page Speed tool — maybe you're just developing a brand new site and aren't ready to test it — you can refer to these pages at any time. We give you specific tips and suggestions for how you can best implement the rules and incorporate them into your development process.

How browser works

How browsers work
by Tali Garsiel

Web browsers are probably the most widely used software. In this book I will explain how they work behind the scenes. We will see what happens when you type 'google.com' in the address bar until you see the Google page on the browser screen.

How to write a windows debug extension

Writing a 'Debugging Tools for Windows' Extension
By Andrew Richards

Writing a Debugging Tools for Windows Extension - Part 1 - March 2011
Covers the build environment and the basics of Output, reading Memory and reading Registers

Writing a Debugging Tools for Windows Extension - Part 2 - May 2011
Covers the how of Debugger Markup Language (DML)

Writing a Debugging Tools for Windows Extension - Part 3 - June 2011
Covers the how and why to use Debugger Clients and Debugger Output Callbacks

Troubleshoot Assembly Loading Failures

The Assembly Binding Log Viewer displays details for failed assembly binds. This information helps you diagnose why the .NET Framework cannot locate an assembly at run time. These failures are usually the result of an assembly deployed to the wrong location or a mismatch in version numbers or cultures. The common language runtime's failure to locate an assembly typically shows up as a TypeLoadException in your application.

Fork me on GitHub