Quantcast
Channel: West Wind Message Board Messages
Viewing all articles
Browse latest Browse all 10393

Re: Managed Module - times out when starting

$
0
0
Re: Managed Module - times out when starting
Web Connection 5.0
Re: Managed Module - times out when starting
06/04/2012
07:34:12 PM
3IO15Y5N5 Show this entire thread in new window
Gratar Image based on email address
From:
Rick Strahl
To:
Attachments:
None

500 errors can be anything so this is hard to determine. Web Connection itself fires very few 500 errors from within the managed code - only for things like when the servers can't be loaded or some other fatal error occurs. All should be captured and returning a message. Hard 500 errors come from IIS and there's not much we can do about that unless there's more information.

IIS has a Failed Request Tracing feature that can be enabled to capture failures. It's based per site or virtual and can capture the last errors and store those in a folder as XML data, viewable via stylesheets. These usually contain a bunch more data. Maybe you can have your customers that are having problems enable that and check.

But 500 errors can come from many issues including from HTML access.

+++ Rick ---



Hi Rick -
So far testing is going pretty well. I had it running in my lab with 6 server instances running round-robin, all getting hits pretty much constantly and let it run for a week without any major issues. Load, unload, and killing instances through task manager while under load seemed to bahave as expected.

I've had it installed at a customer site for 5 days now. So far it appears to have solved all the issues it was having before, as far as wc.dll handing off requests to server instances that were still busy.

However, the customer has reported one issue: they are getting periodic HTTP 500 errors (often enough that they are complaining about it). Nothing is showing up in my app error log, or the Windows event logs. I searched the web site log file (the one that lists gets and posts) for "error", but came up with nothing. And the error message "something went wrong" is unhelpful. Do you know what might cause that, or if there is an IIS log file somewhere that reports when this happens, so I could at least find out how often it is happening?

I'll give you another update when I get further along.

Thanks - David


Can you post back and let me know how you fare in your environment? I've tested the module under load and it's done great, but haven't had a ton of live feedback (although many people are using it).


+++ Rick ---



Yes, that worked. I moved everything from init to a new PostInit method, and then call that on the first hit.

Thanks, that got me going! On to more fun testing :)

- Dave


It's the COM subsystem that's timing out actually. I double checked my code to see if the module does anything to control the actual load time and it doesn't.

Beyond the normal Web COnnection request timeout, it doesn't care how long it takes - in fact once the Createobject call is made we lose all control over the call and .NET takes over the load process. I suppose that .NET throws the timeout exception...

See if you can't delay some of these startup tasks and remove them from the initial startup. Calls can take longer, but initialization might be timed out by the OS.

+++ Rick ---



We have a pretty large app, and it has a lot of initialization work to do. Normally it won't take more than 3 seconds, but when the system is under load (we don't have a separate web server) then I've observed it timing out on my test server. Whether that's right or wrong, I'm stuck with it for now.

- Dave


The server load timeout is hardcoded unfortunately. If your servers are taking more than 10 seconds to load there's got to be something seriously wrong. If it's the app spin up time that's the problem then reloading again should be much faster. If it's the actual COM server loading that's slow there's has to be something going on that's causing it to be that slow (like a slow SQL connection?)

+++ Rick ---



I'm running some tests with using the Managed Module instead of wc.dll.

One big issue I'm running into is the length of time it takes for my server application to initialize. Normally it only takes a few seconds - but under some conditions (like when the system is very busy) it could take longer.

The problem is that if it takes a server instance longer than 10 seconds to spin up, the Managed Module will quit - when on the Module Status page and clicking Load Servers, it comes back with a message "Server (server name) failed to load in time".

Is there any way to adjust this timeout to be more tolerant? I tried setting the request timeout setting in web.config, but that didn't make any difference.

Thanks - Dave












Rick Strahl
West Wind Technologies

Making waves on the Web

from Hood River, Oregon

Viewing all articles
Browse latest Browse all 10393

Trending Articles