You will hate me for this answer, but you should upgrade. I am not an advocate of blindly upgrading software. Generally, if it ain't broke, don't fix it. IIS 3.0 is definitely broke, however, and is not reliable when used for multiple Web applications. Upgrading to Windows 2000 and IIS 5 will probably reduce the number of failures you have, especially if you run all the applications with a high level of protection to keep them isolated from each other. I can't guarantee it will cure your problems, though.
There are two other possibilities. One is to spend a great deal of time debugging your Web applications, to isolate and fix the problems. Unfortunately, IIS 3.0 doesn't have great debugging capabilities, so that's not such an easy task.
The final option is to regularly reboot your server. Any self-respecting admin would cringe at this idea. After all, if your applications are well-built, they should run indefinitely without a reboot. In your case, at least one Web application is not well-built, and is causing your Web server to crash. If finding and fixing the problem, or upgrading IIS aren't options, then frequently rebooting the server can postpone these unexpected failures. How often you need to reboot depends on how often the application fails. If it fails less than once per day, scheduling a nightly reboot may eliminate the symptoms of your problem. Good luck!
This was first published in May 2002