By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
429,214 Members | 2,066 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 429,214 IT Pros & Developers. It's quick & easy.

ThreadAbortException in Load Balancing

P: n/a
This question may look silly.

We have a cluster of Frontend ASP.NET Web Service calls other cluster
of other ASP.NET Web Services. There is a hardware F5 BigIP load
balancer between these two clusters. The topology is like below.

Frontend Server1 --\ /--Backend
Server 1
\ /
Frontend Server2 --------- Load Balancer ----------- Backend Server 2
/ \
Frontend Server3 --/ \ -- Backend
Server 3

The LB is now configured as "sticky connection". That is, if Frontend
Server 1 request for the first time, it will locate one Backend
Server, say Server 2 to respond. And, for the next configurable time
span, all requests from Frontend Server 1 will be directed to Backend
Server 2. Everything is fine in such config.

Now, Operation team wants to reconfigure LB to disable sticky
connection. LB will randomly select Backend server for each request
from Frontend. Then, Frontend servers get a lot of
ThreadAbortException. The thread abort exception is due to Webservice
invocation to backend is hanged. And IIS6 abort one thread if it
doesn't complete one request in 90 seconds.

This looks tricky. It seems that ASP.NEThas some problem to
communicate with BigIP.
The platform are Win 2k3 and ASP.NET is still in 1.1(what a pity:).

Does anyone have similar experience with ASP.NET load balancing?
or any idea to solve this issue?

Thanks.

Jun 8 '07 #1
Share this Question
Share on Google+
1 Reply


P: n/a
there is no inherent problem with your configuration, as I've used it
several times and never use sticky.

there are several problems to look for:

1) ntlm authentication timeouts (usually kerberos not config correctly)
2) session problems with the web service
3) not keeping the backend site up with enough traffic
4) a down web service

you should add logging to your application, so you know which backend
fails, and also which backends are taking too long.

-- bruce (sqlwork.com)

Morgan Cheng wrote:
This question may look silly.

We have a cluster of Frontend ASP.NET Web Service calls other cluster
of other ASP.NET Web Services. There is a hardware F5 BigIP load
balancer between these two clusters. The topology is like below.

Frontend Server1 --\ /--Backend
Server 1
\ /
Frontend Server2 --------- Load Balancer ----------- Backend Server 2
/ \
Frontend Server3 --/ \ -- Backend
Server 3

The LB is now configured as "sticky connection". That is, if Frontend
Server 1 request for the first time, it will locate one Backend
Server, say Server 2 to respond. And, for the next configurable time
span, all requests from Frontend Server 1 will be directed to Backend
Server 2. Everything is fine in such config.

Now, Operation team wants to reconfigure LB to disable sticky
connection. LB will randomly select Backend server for each request
from Frontend. Then, Frontend servers get a lot of
ThreadAbortException. The thread abort exception is due to Webservice
invocation to backend is hanged. And IIS6 abort one thread if it
doesn't complete one request in 90 seconds.

This looks tricky. It seems that ASP.NEThas some problem to
communicate with BigIP.
The platform are Win 2k3 and ASP.NET is still in 1.1(what a pity:).

Does anyone have similar experience with ASP.NET load balancing?
or any idea to solve this issue?

Thanks.
Jun 8 '07 #2

This discussion thread is closed

Replies have been disabled for this discussion.