473,326 Members | 2,061 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,326 software developers and data experts.

Load balancing made simple?

Okay, I have two identical web servers running Windows 2003 web
server. I have an ASP.NET application which runs great on one of
them. Dedicated IP address, behind our firewall, etc. Everyone's
happy.
Now -- how do I take advantage of that second computer to
"load-balance" the web site? Will it really give my users a noticable
performance increase? How do you accomplish this? I've read many of
those MS articles and it's complicated... telling me to use load
balancing hardware and what-not. What's the easiest and quickest way
to get a nice performance (and reliability) boost with multiple web
server? Or, is this more complicated than just a few minutes of
configuration setup? :)
Nov 18 '05 #1
10 2608
When you say identical servers, you are talking about clustering and its not
an easy activity for the inexperienced, especailly if your making use of
asp.net sessions locally, rather than via a DB on another server for
example.

Unfortunately, I dont think anyone can easily tell you how implement
clustering, your going to have to do a lot of reading about and
experimenting.
I would start with the materials vailable at the Microsoft Academic
Alliance:
http://www.msdnaa.net/curriculum/?5925

......and read this

http://www.microsoft.com/windowsserv...ring/default.m
spx

You could however think about performance increases another way. You have
two servers, both capable of making use of ASP.NET and IIS6's caching
features - which are very good. You could split your server based on asp.net
applications, gauging use and balancing on a best guess and testing basis on
whether an individual server can cope with your expected max load, and where
you need to split off to another box. You could for example render all of
your images and files from one server, and all of your asp.net from
another - all good ways of increasing the performance, I'm sure you can
think of other ways if you take the time to go over your solution.

--
Regards

John Timney
Microsoft Regional Director
Microsoft MVP
"GeekBoy" <ge*********@yahoo.com> wrote in message
news:b0**************************@posting.google.c om...
Okay, I have two identical web servers running Windows 2003 web
server. I have an ASP.NET application which runs great on one of
them. Dedicated IP address, behind our firewall, etc. Everyone's
happy.
Now -- how do I take advantage of that second computer to
"load-balance" the web site? Will it really give my users a noticable
performance increase? How do you accomplish this? I've read many of
those MS articles and it's complicated... telling me to use load
balancing hardware and what-not. What's the easiest and quickest way
to get a nice performance (and reliability) boost with multiple web
server? Or, is this more complicated than just a few minutes of
configuration setup? :)

Nov 18 '05 #2
I already have the StateServer on another computer and that's running
fine.
I guess I am talking about clustering -- the ability to "sniff out"
which server is best suited to handle the current request, based upon
cpu, memory, load, whatever you want to call it. Is this generally
handled by routing equipment setup in the firmware, or is it all
software server setup?
With regard to your other comment about speed increases, I understand
what you're saying... if I have, say, two important sections of the
website, I could push one section to another server and host the
application there, seemingly pushing half the company to another
computer, dedicated to that one task. I agree it could increase
performance, but I'm not so sure I understand how, say, moving all
images or web pages themselves to another server could increase
performance? These things are tiny in comparison with the code-behind
DLL and the ASPX pages it needs to load, not to mention the SQL
commands, which are probably the bulk of the time it takes to render a
page.
"John Timney \(Microsoft MVP\)" <ti*****@despammed.com> wrote in message news:<u9**************@tk2msftngp13.phx.gbl>...
When you say identical servers, you are talking about clustering and its not
an easy activity for the inexperienced, especailly if your making use of
asp.net sessions locally, rather than via a DB on another server for
example.

Unfortunately, I dont think anyone can easily tell you how implement
clustering, your going to have to do a lot of reading about and
experimenting.
I would start with the materials vailable at the Microsoft Academic
Alliance:
http://www.msdnaa.net/curriculum/?5925

.....and read this

http://www.microsoft.com/windowsserv...ring/default.m
spx

You could however think about performance increases another way. You have
two servers, both capable of making use of ASP.NET and IIS6's caching
features - which are very good. You could split your server based on asp.net
applications, gauging use and balancing on a best guess and testing basis on
whether an individual server can cope with your expected max load, and where
you need to split off to another box. You could for example render all of
your images and files from one server, and all of your asp.net from
another - all good ways of increasing the performance, I'm sure you can
think of other ways if you take the time to go over your solution.

--
Regards

John Timney
Microsoft Regional Director
Microsoft MVP
"GeekBoy" <ge*********@yahoo.com> wrote in message
news:b0**************************@posting.google.c om...
Okay, I have two identical web servers running Windows 2003 web
server. I have an ASP.NET application which runs great on one of
them. Dedicated IP address, behind our firewall, etc. Everyone's
happy.
Now -- how do I take advantage of that second computer to
"load-balance" the web site? Will it really give my users a noticable
performance increase? How do you accomplish this? I've read many of
those MS articles and it's complicated... telling me to use load
balancing hardware and what-not. What's the easiest and quickest way
to get a nice performance (and reliability) boost with multiple web
server? Or, is this more complicated than just a few minutes of
configuration setup? :)

Nov 18 '05 #3
Most of your answers will come from testing your scenarios of use, to
identify likely patterns of failure or peak use. If you have two servers
doing the same task, you could use simple round robin DNS to choose a server
at random, or configure your routers to choose a server based on client IP.
They are mostly network issues for a implementing a cluster. As I said,
unfortunately most of this is simply a long reading and learning exercise.

The comment on moving images and hard files (word docs etc) to another
server means your asp.net severs dont have to process request for these.
Your asp.net pages are delivered faster and the browser thenrequest the
fixed things like images from another server at the client side in a typical
request fashion - thus you remove CPU cycles from the asp.net servers whos
primary goal is to process code behind, DLL's and aspx files. This is a
technique used by very large volume sites like the BBC.

--
Regards

John Timney
Microsoft Regional Director
Microsoft MVP
"GeekBoy" <ge*********@yahoo.com> wrote in message
news:b0**************************@posting.google.c om...
I already have the StateServer on another computer and that's running
fine.
I guess I am talking about clustering -- the ability to "sniff out"
which server is best suited to handle the current request, based upon
cpu, memory, load, whatever you want to call it. Is this generally
handled by routing equipment setup in the firmware, or is it all
software server setup?
With regard to your other comment about speed increases, I understand
what you're saying... if I have, say, two important sections of the
website, I could push one section to another server and host the
application there, seemingly pushing half the company to another
computer, dedicated to that one task. I agree it could increase
performance, but I'm not so sure I understand how, say, moving all
images or web pages themselves to another server could increase
performance? These things are tiny in comparison with the code-behind
DLL and the ASPX pages it needs to load, not to mention the SQL
commands, which are probably the bulk of the time it takes to render a
page.
"John Timney \(Microsoft MVP\)" <ti*****@despammed.com> wrote in message

news:<u9**************@tk2msftngp13.phx.gbl>...
When you say identical servers, you are talking about clustering and its not an easy activity for the inexperienced, especailly if your making use of
asp.net sessions locally, rather than via a DB on another server for
example.

Unfortunately, I dont think anyone can easily tell you how implement
clustering, your going to have to do a lot of reading about and
experimenting.
I would start with the materials vailable at the Microsoft Academic
Alliance:
http://www.msdnaa.net/curriculum/?5925

.....and read this

http://www.microsoft.com/windowsserv...ring/default.m spx

You could however think about performance increases another way. You have two servers, both capable of making use of ASP.NET and IIS6's caching
features - which are very good. You could split your server based on asp.net applications, gauging use and balancing on a best guess and testing basis on whether an individual server can cope with your expected max load, and where you need to split off to another box. You could for example render all of your images and files from one server, and all of your asp.net from
another - all good ways of increasing the performance, I'm sure you can
think of other ways if you take the time to go over your solution.

--
Regards

John Timney
Microsoft Regional Director
Microsoft MVP
"GeekBoy" <ge*********@yahoo.com> wrote in message
news:b0**************************@posting.google.c om...
Okay, I have two identical web servers running Windows 2003 web
server. I have an ASP.NET application which runs great on one of
them. Dedicated IP address, behind our firewall, etc. Everyone's
happy.
Now -- how do I take advantage of that second computer to
"load-balance" the web site? Will it really give my users a noticable
performance increase? How do you accomplish this? I've read many of
those MS articles and it's complicated... telling me to use load
balancing hardware and what-not. What's the easiest and quickest way
to get a nice performance (and reliability) boost with multiple web
server? Or, is this more complicated than just a few minutes of
configuration setup? :)

Nov 18 '05 #4
Interesting ideas you suggest, John. Let me see if I understand
something here, since I'm not a network guy myself, although I do have
a few at my disposal:
1. Are you saying that my network guys can configure our Cisco routers
to "choose" or "alternate" between identical IIS 2003 web servers and
thereby simply put less users on each computer? This can all be done
in router configuration? I would simply keep all my servers
identical, with the exact same aspx/dll/etc. pages in the same
directories, cloned copies basically, and all of this can be handled
by the hardware?
2. Are you suggesting that another idea would be to take all my
images\ directories and place them on another server within the
segment? I already house all the large static documents (word, tiff,
pdf, etc) on other servers, however I don't see how that saves CPU
cycles since the aspx web application simply says to open that drive
and fetch it and give it to the web user. How could taking, say, all
the JPG files and placing them on another server help? Instead of
asp:image source=~/images/foo.jpg it would simply be
source=\\server2\images\foo.jpg. This could help?? I don't see how??
"fetching" the small jpg is hardly the lengthy part of this request,
in my mind. Or, are you saying to do something like asp:image
source=https://www.someotherdomain.com/images/foo.jpg? Now that I
could see as a benefit indeed... an interesting suggestion, but again
I would have to imagine thousands of users before doing something like
this could be noticable.
I will speak to my network guys and test something out on our
development segment. Thanks much for your suggestions!
"John Timney \(Microsoft MVP\)" <ti*****@despammed.com> wrote in message news:<eb**************@TK2MSFTNGP09.phx.gbl>...
Most of your answers will come from testing your scenarios of use, to
identify likely patterns of failure or peak use. If you have two servers
doing the same task, you could use simple round robin DNS to choose a server
at random, or configure your routers to choose a server based on client IP.
They are mostly network issues for a implementing a cluster. As I said,
unfortunately most of this is simply a long reading and learning exercise.

The comment on moving images and hard files (word docs etc) to another
server means your asp.net severs dont have to process request for these.
Your asp.net pages are delivered faster and the browser thenrequest the
fixed things like images from another server at the client side in a typical
request fashion - thus you remove CPU cycles from the asp.net servers whos
primary goal is to process code behind, DLL's and aspx files. This is a
technique used by very large volume sites like the BBC.

--
Regards

John Timney
Microsoft Regional Director
Microsoft MVP
"GeekBoy" <ge*********@yahoo.com> wrote in message
news:b0**************************@posting.google.c om...
I already have the StateServer on another computer and that's running
fine.
I guess I am talking about clustering -- the ability to "sniff out"
which server is best suited to handle the current request, based upon
cpu, memory, load, whatever you want to call it. Is this generally
handled by routing equipment setup in the firmware, or is it all
software server setup?
With regard to your other comment about speed increases, I understand
what you're saying... if I have, say, two important sections of the
website, I could push one section to another server and host the
application there, seemingly pushing half the company to another
computer, dedicated to that one task. I agree it could increase
performance, but I'm not so sure I understand how, say, moving all
images or web pages themselves to another server could increase
performance? These things are tiny in comparison with the code-behind
DLL and the ASPX pages it needs to load, not to mention the SQL
commands, which are probably the bulk of the time it takes to render a
page.
"John Timney \(Microsoft MVP\)" <ti*****@despammed.com> wrote in message

news:<u9**************@tk2msftngp13.phx.gbl>...
When you say identical servers, you are talking about clustering and its not an easy activity for the inexperienced, especailly if your making use of
asp.net sessions locally, rather than via a DB on another server for
example.

Unfortunately, I dont think anyone can easily tell you how implement
clustering, your going to have to do a lot of reading about and
experimenting.
I would start with the materials vailable at the Microsoft Academic
Alliance:
http://www.msdnaa.net/curriculum/?5925

.....and read this

http://www.microsoft.com/windowsserv...ring/default.m spx

You could however think about performance increases another way. You have two servers, both capable of making use of ASP.NET and IIS6's caching
features - which are very good. You could split your server based on asp.net applications, gauging use and balancing on a best guess and testing basis on whether an individual server can cope with your expected max load, and where you need to split off to another box. You could for example render all of your images and files from one server, and all of your asp.net from
another - all good ways of increasing the performance, I'm sure you can
think of other ways if you take the time to go over your solution.

--
Regards

John Timney
Microsoft Regional Director
Microsoft MVP
"GeekBoy" <ge*********@yahoo.com> wrote in message
news:b0**************************@posting.google.c om...
> Okay, I have two identical web servers running Windows 2003 web
> server. I have an ASP.NET application which runs great on one of
> them. Dedicated IP address, behind our firewall, etc. Everyone's
> happy.
> Now -- how do I take advantage of that second computer to
> "load-balance" the web site? Will it really give my users a noticable
> performance increase? How do you accomplish this? I've read many of
> those MS articles and it's complicated... telling me to use load
> balancing hardware and what-not. What's the easiest and quickest way
> to get a nice performance (and reliability) boost with multiple web
> server? Or, is this more complicated than just a few minutes of
> configuration setup? :)

Nov 18 '05 #5
I know this won't be the most popular response on a MS newsgroup, but we
are using a reverse proxy in Apache and experimenting with the Linux-HA
project to do load balancing to servers inside our local network. The
reverse proxy Linux/Apache box sits in our DMZ.

GeekBoy wrote:
Interesting ideas you suggest, John. Let me see if I understand
something here, since I'm not a network guy myself, although I do have
a few at my disposal:
1. Are you saying that my network guys can configure our Cisco routers
to "choose" or "alternate" between identical IIS 2003 web servers and
thereby simply put less users on each computer? This can all be done
in router configuration? I would simply keep all my servers
identical, with the exact same aspx/dll/etc. pages in the same
directories, cloned copies basically, and all of this can be handled
by the hardware?
2. Are you suggesting that another idea would be to take all my
images\ directories and place them on another server within the
segment? I already house all the large static documents (word, tiff,
pdf, etc) on other servers, however I don't see how that saves CPU
cycles since the aspx web application simply says to open that drive
and fetch it and give it to the web user. How could taking, say, all
the JPG files and placing them on another server help? Instead of
asp:image source=~/images/foo.jpg it would simply be
source=\\server2\images\foo.jpg. This could help?? I don't see how??
"fetching" the small jpg is hardly the lengthy part of this request,
in my mind. Or, are you saying to do something like asp:image
source=https://www.someotherdomain.com/images/foo.jpg? Now that I
could see as a benefit indeed... an interesting suggestion, but again
I would have to imagine thousands of users before doing something like
this could be noticable.
I will speak to my network guys and test something out on our
development segment. Thanks much for your suggestions!
"John Timney \(Microsoft MVP\)" <ti*****@despammed.com> wrote in message news:<eb**************@TK2MSFTNGP09.phx.gbl>...
Most of your answers will come from testing your scenarios of use, to
identify likely patterns of failure or peak use. If you have two servers
doing the same task, you could use simple round robin DNS to choose a server
at random, or configure your routers to choose a server based on client IP.
They are mostly network issues for a implementing a cluster. As I said,
unfortunately most of this is simply a long reading and learning exercise.

The comment on moving images and hard files (word docs etc) to another
server means your asp.net severs dont have to process request for these.
Your asp.net pages are delivered faster and the browser thenrequest the
fixed things like images from another server at the client side in a typical
request fashion - thus you remove CPU cycles from the asp.net servers whos
primary goal is to process code behind, DLL's and aspx files. This is a
technique used by very large volume sites like the BBC.

--
Regards

John Timney
Microsoft Regional Director
Microsoft MVP
"GeekBoy" <ge*********@yahoo.com> wrote in message
news:b0**************************@posting.google .com...
I already have the StateServer on another computer and that's running
fine.
I guess I am talking about clustering -- the ability to "sniff out"
which server is best suited to handle the current request, based upon
cpu, memory, load, whatever you want to call it. Is this generally
handled by routing equipment setup in the firmware, or is it all
software server setup?
With regard to your other comment about speed increases, I understand
what you're saying... if I have, say, two important sections of the
website, I could push one section to another server and host the
application there, seemingly pushing half the company to another
computer, dedicated to that one task. I agree it could increase
performance, but I'm not so sure I understand how, say, moving all
images or web pages themselves to another server could increase
performance? These things are tiny in comparison with the code-behind
DLL and the ASPX pages it needs to load, not to mention the SQL
commands, which are probably the bulk of the time it takes to render a
page.
"John Timney \(Microsoft MVP\)" <ti*****@despammed.com> wrote in message


news:<u9**************@tk2msftngp13.phx.gbl>...
When you say identical servers, you are talking about clustering and its


not
an easy activity for the inexperienced, especailly if your making use of
asp.net sessions locally, rather than via a DB on another server for
example.

Unfortunately, I dont think anyone can easily tell you how implement
clustering, your going to have to do a lot of reading about and
experimenting.
I would start with the materials vailable at the Microsoft Academic
Alliance:
http://www.msdnaa.net/curriculum/?5925

.....and read this


http://www.microsoft.com/windowsserv...ring/default.m
spx

You could however think about performance increases another way. You


have
two servers, both capable of making use of ASP.NET and IIS6's caching
features - which are very good. You could split your server based on


asp.net
applications, gauging use and balancing on a best guess and testing


basis on
whether an individual server can cope with your expected max load, and


where
you need to split off to another box. You could for example render all


of
your images and files from one server, and all of your asp.net from
another - all good ways of increasing the performance, I'm sure you can
think of other ways if you take the time to go over your solution.

--
Regards

John Timney
Microsoft Regional Director
Microsoft MVP
"GeekBoy" <ge*********@yahoo.com> wrote in message
news:b0**************************@posting.goog le.com...

>Okay, I have two identical web servers running Windows 2003 web
>server. I have an ASP.NET application which runs great on one of
>them. Dedicated IP address, behind our firewall, etc. Everyone's
>happy.
>Now -- how do I take advantage of that second computer to
>"load-balance" the web site? Will it really give my users a noticable
>performance increase? How do you accomplish this? I've read many of
>those MS articles and it's complicated... telling me to use load
>balancing hardware and what-not. What's the easiest and quickest way
>to get a nice performance (and reliability) boost with multiple web
>server? Or, is this more complicated than just a few minutes of
>configuration setup? :)

Nov 18 '05 #6
One more question --
Do you mean to say that each REQUEST will alternate between web
servers, or each SESSION would alternate between servers? If I use
the website and post stuff on one page, then post stuff on another
page, am I hitting the same web server or is the router switching me
between the two, or which ever is next in the round-robin approach?
"John Timney \(Microsoft MVP\)" <ti*****@despammed.com> wrote in message news:<eb**************@TK2MSFTNGP09.phx.gbl>...
Most of your answers will come from testing your scenarios of use, to
identify likely patterns of failure or peak use. If you have two servers
doing the same task, you could use simple round robin DNS to choose a server
at random, or configure your routers to choose a server based on client IP.
They are mostly network issues for a implementing a cluster. As I said,
unfortunately most of this is simply a long reading and learning exercise.

The comment on moving images and hard files (word docs etc) to another
server means your asp.net severs dont have to process request for these.
Your asp.net pages are delivered faster and the browser thenrequest the
fixed things like images from another server at the client side in a typical
request fashion - thus you remove CPU cycles from the asp.net servers whos
primary goal is to process code behind, DLL's and aspx files. This is a
technique used by very large volume sites like the BBC.

--
Regards

John Timney
Microsoft Regional Director
Microsoft MVP
"GeekBoy" <ge*********@yahoo.com> wrote in message
news:b0**************************@posting.google.c om...
I already have the StateServer on another computer and that's running
fine.
I guess I am talking about clustering -- the ability to "sniff out"
which server is best suited to handle the current request, based upon
cpu, memory, load, whatever you want to call it. Is this generally
handled by routing equipment setup in the firmware, or is it all
software server setup?
With regard to your other comment about speed increases, I understand
what you're saying... if I have, say, two important sections of the
website, I could push one section to another server and host the
application there, seemingly pushing half the company to another
computer, dedicated to that one task. I agree it could increase
performance, but I'm not so sure I understand how, say, moving all
images or web pages themselves to another server could increase
performance? These things are tiny in comparison with the code-behind
DLL and the ASPX pages it needs to load, not to mention the SQL
commands, which are probably the bulk of the time it takes to render a
page.
"John Timney \(Microsoft MVP\)" <ti*****@despammed.com> wrote in message

news:<u9**************@tk2msftngp13.phx.gbl>...
When you say identical servers, you are talking about clustering and its not an easy activity for the inexperienced, especailly if your making use of
asp.net sessions locally, rather than via a DB on another server for
example.

Unfortunately, I dont think anyone can easily tell you how implement
clustering, your going to have to do a lot of reading about and
experimenting.
I would start with the materials vailable at the Microsoft Academic
Alliance:
http://www.msdnaa.net/curriculum/?5925

.....and read this

http://www.microsoft.com/windowsserv...ring/default.m spx

You could however think about performance increases another way. You have two servers, both capable of making use of ASP.NET and IIS6's caching
features - which are very good. You could split your server based on asp.net applications, gauging use and balancing on a best guess and testing basis on whether an individual server can cope with your expected max load, and where you need to split off to another box. You could for example render all of your images and files from one server, and all of your asp.net from
another - all good ways of increasing the performance, I'm sure you can
think of other ways if you take the time to go over your solution.

--
Regards

John Timney
Microsoft Regional Director
Microsoft MVP
"GeekBoy" <ge*********@yahoo.com> wrote in message
news:b0**************************@posting.google.c om...
> Okay, I have two identical web servers running Windows 2003 web
> server. I have an ASP.NET application which runs great on one of
> them. Dedicated IP address, behind our firewall, etc. Everyone's
> happy.
> Now -- how do I take advantage of that second computer to
> "load-balance" the web site? Will it really give my users a noticable
> performance increase? How do you accomplish this? I've read many of
> those MS articles and it's complicated... telling me to use load
> balancing hardware and what-not. What's the easiest and quickest way
> to get a nice performance (and reliability) boost with multiple web
> server? Or, is this more complicated than just a few minutes of
> configuration setup? :)

Nov 18 '05 #7
It depends on your routers, some do whats called sticky routing and send you
to the same server, others randonly choose one.

--
Regards

John Timney
Microsoft Regional Director
Microsoft MVP

"GeekBoy" <ge*********@yahoo.com> wrote in message
news:b0**************************@posting.google.c om...
One more question --
Do you mean to say that each REQUEST will alternate between web
servers, or each SESSION would alternate between servers? If I use
the website and post stuff on one page, then post stuff on another
page, am I hitting the same web server or is the router switching me
between the two, or which ever is next in the round-robin approach?
"John Timney \(Microsoft MVP\)" <ti*****@despammed.com> wrote in message

news:<eb**************@TK2MSFTNGP09.phx.gbl>...
Most of your answers will come from testing your scenarios of use, to
identify likely patterns of failure or peak use. If you have two servers
doing the same task, you could use simple round robin DNS to choose a server at random, or configure your routers to choose a server based on client IP. They are mostly network issues for a implementing a cluster. As I said,
unfortunately most of this is simply a long reading and learning exercise.
The comment on moving images and hard files (word docs etc) to another
server means your asp.net severs dont have to process request for these.
Your asp.net pages are delivered faster and the browser thenrequest the
fixed things like images from another server at the client side in a typical request fashion - thus you remove CPU cycles from the asp.net servers whos primary goal is to process code behind, DLL's and aspx files. This is a
technique used by very large volume sites like the BBC.

--
Regards

John Timney
Microsoft Regional Director
Microsoft MVP
"GeekBoy" <ge*********@yahoo.com> wrote in message
news:b0**************************@posting.google.c om...
I already have the StateServer on another computer and that's running
fine.
I guess I am talking about clustering -- the ability to "sniff out"
which server is best suited to handle the current request, based upon
cpu, memory, load, whatever you want to call it. Is this generally
handled by routing equipment setup in the firmware, or is it all
software server setup?
With regard to your other comment about speed increases, I understand
what you're saying... if I have, say, two important sections of the
website, I could push one section to another server and host the
application there, seemingly pushing half the company to another
computer, dedicated to that one task. I agree it could increase
performance, but I'm not so sure I understand how, say, moving all
images or web pages themselves to another server could increase
performance? These things are tiny in comparison with the code-behind
DLL and the ASPX pages it needs to load, not to mention the SQL
commands, which are probably the bulk of the time it takes to render a
page.
"John Timney \(Microsoft MVP\)" <ti*****@despammed.com> wrote in message
news:<u9**************@tk2msftngp13.phx.gbl>...
> When you say identical servers, you are talking about clustering and
its not
> an easy activity for the inexperienced, especailly if your making
use of > asp.net sessions locally, rather than via a DB on another server for
> example.
>
> Unfortunately, I dont think anyone can easily tell you how implement
> clustering, your going to have to do a lot of reading about and
> experimenting.
> I would start with the materials vailable at the Microsoft Academic
> Alliance:
> http://www.msdnaa.net/curriculum/?5925
>
> .....and read this
>
>

http://www.microsoft.com/windowsserv...ring/default.m
> spx
>
> You could however think about performance increases another way. You have
> two servers, both capable of making use of ASP.NET and IIS6's
caching > features - which are very good. You could split your server based on

asp.net
> applications, gauging use and balancing on a best guess and testing

basis on
> whether an individual server can cope with your expected max load, and where
> you need to split off to another box. You could for example render
all of
> your images and files from one server, and all of your asp.net from
> another - all good ways of increasing the performance, I'm sure you

can > think of other ways if you take the time to go over your solution.
>
> --
> Regards
>
> John Timney
> Microsoft Regional Director
> Microsoft MVP
>
>
> "GeekBoy" <ge*********@yahoo.com> wrote in message
> news:b0**************************@posting.google.c om...
> > Okay, I have two identical web servers running Windows 2003 web
> > server. I have an ASP.NET application which runs great on one of
> > them. Dedicated IP address, behind our firewall, etc. Everyone's
> > happy.
> > Now -- how do I take advantage of that second computer to
> > "load-balance" the web site? Will it really give my users a noticable > > performance increase? How do you accomplish this? I've read many of > > those MS articles and it's complicated... telling me to use load
> > balancing hardware and what-not. What's the easiest and quickest way > > to get a nice performance (and reliability) boost with multiple web > > server? Or, is this more complicated than just a few minutes of
> > configuration setup? :)

Nov 18 '05 #8
1. possibly - ask their advice

2. All images are served after the page is delivered to the client, as a
request by the browser back to the web server. All your asp app is doing is
passing the path to the browser to resolve as a part of the page output. It
can get those images from any server.
--
Regards

John Timney
Microsoft Regional Director
Microsoft MVP
"GeekBoy" <ge*********@yahoo.com> wrote in message
news:b0**************************@posting.google.c om...
Interesting ideas you suggest, John. Let me see if I understand
something here, since I'm not a network guy myself, although I do have
a few at my disposal:
1. Are you saying that my network guys can configure our Cisco routers
to "choose" or "alternate" between identical IIS 2003 web servers and
thereby simply put less users on each computer? This can all be done
in router configuration? I would simply keep all my servers
identical, with the exact same aspx/dll/etc. pages in the same
directories, cloned copies basically, and all of this can be handled
by the hardware?
2. Are you suggesting that another idea would be to take all my
images\ directories and place them on another server within the
segment? I already house all the large static documents (word, tiff,
pdf, etc) on other servers, however I don't see how that saves CPU
cycles since the aspx web application simply says to open that drive
and fetch it and give it to the web user. How could taking, say, all
the JPG files and placing them on another server help? Instead of
asp:image source=~/images/foo.jpg it would simply be
source=\\server2\images\foo.jpg. This could help?? I don't see how??
"fetching" the small jpg is hardly the lengthy part of this request,
in my mind. Or, are you saying to do something like asp:image
source=https://www.someotherdomain.com/images/foo.jpg? Now that I
could see as a benefit indeed... an interesting suggestion, but again
I would have to imagine thousands of users before doing something like
this could be noticable.
I will speak to my network guys and test something out on our
development segment. Thanks much for your suggestions!
"John Timney \(Microsoft MVP\)" <ti*****@despammed.com> wrote in message

news:<eb**************@TK2MSFTNGP09.phx.gbl>...
Most of your answers will come from testing your scenarios of use, to
identify likely patterns of failure or peak use. If you have two servers
doing the same task, you could use simple round robin DNS to choose a server at random, or configure your routers to choose a server based on client IP. They are mostly network issues for a implementing a cluster. As I said,
unfortunately most of this is simply a long reading and learning exercise.
The comment on moving images and hard files (word docs etc) to another
server means your asp.net severs dont have to process request for these.
Your asp.net pages are delivered faster and the browser thenrequest the
fixed things like images from another server at the client side in a typical request fashion - thus you remove CPU cycles from the asp.net servers whos primary goal is to process code behind, DLL's and aspx files. This is a
technique used by very large volume sites like the BBC.

--
Regards

John Timney
Microsoft Regional Director
Microsoft MVP
"GeekBoy" <ge*********@yahoo.com> wrote in message
news:b0**************************@posting.google.c om...
I already have the StateServer on another computer and that's running
fine.
I guess I am talking about clustering -- the ability to "sniff out"
which server is best suited to handle the current request, based upon
cpu, memory, load, whatever you want to call it. Is this generally
handled by routing equipment setup in the firmware, or is it all
software server setup?
With regard to your other comment about speed increases, I understand
what you're saying... if I have, say, two important sections of the
website, I could push one section to another server and host the
application there, seemingly pushing half the company to another
computer, dedicated to that one task. I agree it could increase
performance, but I'm not so sure I understand how, say, moving all
images or web pages themselves to another server could increase
performance? These things are tiny in comparison with the code-behind
DLL and the ASPX pages it needs to load, not to mention the SQL
commands, which are probably the bulk of the time it takes to render a
page.
"John Timney \(Microsoft MVP\)" <ti*****@despammed.com> wrote in message
news:<u9**************@tk2msftngp13.phx.gbl>...
> When you say identical servers, you are talking about clustering and
its not
> an easy activity for the inexperienced, especailly if your making
use of > asp.net sessions locally, rather than via a DB on another server for
> example.
>
> Unfortunately, I dont think anyone can easily tell you how implement
> clustering, your going to have to do a lot of reading about and
> experimenting.
> I would start with the materials vailable at the Microsoft Academic
> Alliance:
> http://www.msdnaa.net/curriculum/?5925
>
> .....and read this
>
>

http://www.microsoft.com/windowsserv...ring/default.m
> spx
>
> You could however think about performance increases another way. You have
> two servers, both capable of making use of ASP.NET and IIS6's
caching > features - which are very good. You could split your server based on

asp.net
> applications, gauging use and balancing on a best guess and testing

basis on
> whether an individual server can cope with your expected max load, and where
> you need to split off to another box. You could for example render
all of
> your images and files from one server, and all of your asp.net from
> another - all good ways of increasing the performance, I'm sure you

can > think of other ways if you take the time to go over your solution.
>
> --
> Regards
>
> John Timney
> Microsoft Regional Director
> Microsoft MVP
>
>
> "GeekBoy" <ge*********@yahoo.com> wrote in message
> news:b0**************************@posting.google.c om...
> > Okay, I have two identical web servers running Windows 2003 web
> > server. I have an ASP.NET application which runs great on one of
> > them. Dedicated IP address, behind our firewall, etc. Everyone's
> > happy.
> > Now -- how do I take advantage of that second computer to
> > "load-balance" the web site? Will it really give my users a noticable > > performance increase? How do you accomplish this? I've read many of > > those MS articles and it's complicated... telling me to use load
> > balancing hardware and what-not. What's the easiest and quickest way > > to get a nice performance (and reliability) boost with multiple web > > server? Or, is this more complicated than just a few minutes of
> > configuration setup? :)

Nov 18 '05 #9
One of my network guys just told me that this can't be done internally
here because none of the employee computers go though our routers,
only external users. I thought Cisco Local Director handles stuff
like this, but I might be wrong. Otherwise, isn't there a Microsoft
Cluster Service available, which is supposed to be true network load
balancing?
"John Timney \(Microsoft MVP\)" <ti*****@despammed.com> wrote in message news:<##**************@TK2MSFTNGP10.phx.gbl>...
It depends on your routers, some do whats called sticky routing and send you
to the same server, others randonly choose one.

--
Regards

John Timney
Microsoft Regional Director
Microsoft MVP

"GeekBoy" <ge*********@yahoo.com> wrote in message
news:b0**************************@posting.google.c om...
One more question --
Do you mean to say that each REQUEST will alternate between web
servers, or each SESSION would alternate between servers? If I use
the website and post stuff on one page, then post stuff on another
page, am I hitting the same web server or is the router switching me
between the two, or which ever is next in the round-robin approach?
"John Timney \(Microsoft MVP\)" <ti*****@despammed.com> wrote in message

news:<eb**************@TK2MSFTNGP09.phx.gbl>...
Most of your answers will come from testing your scenarios of use, to
identify likely patterns of failure or peak use. If you have two servers doing the same task, you could use simple round robin DNS to choose a server at random, or configure your routers to choose a server based on client IP. They are mostly network issues for a implementing a cluster. As I said,
unfortunately most of this is simply a long reading and learning exercise.
The comment on moving images and hard files (word docs etc) to another
server means your asp.net severs dont have to process request for these.
Your asp.net pages are delivered faster and the browser thenrequest the
fixed things like images from another server at the client side in a typical request fashion - thus you remove CPU cycles from the asp.net servers whos primary goal is to process code behind, DLL's and aspx files. This is a
technique used by very large volume sites like the BBC.

--
Regards

John Timney
Microsoft Regional Director
Microsoft MVP
"GeekBoy" <ge*********@yahoo.com> wrote in message
news:b0**************************@posting.google.c om...
> I already have the StateServer on another computer and that's running
> fine.
> I guess I am talking about clustering -- the ability to "sniff out"
> which server is best suited to handle the current request, based upon
> cpu, memory, load, whatever you want to call it. Is this generally
> handled by routing equipment setup in the firmware, or is it all
> software server setup?
> With regard to your other comment about speed increases, I understand
> what you're saying... if I have, say, two important sections of the
> website, I could push one section to another server and host the
> application there, seemingly pushing half the company to another
> computer, dedicated to that one task. I agree it could increase
> performance, but I'm not so sure I understand how, say, moving all
> images or web pages themselves to another server could increase
> performance? These things are tiny in comparison with the code-behind
> DLL and the ASPX pages it needs to load, not to mention the SQL
> commands, which are probably the bulk of the time it takes to render a
> page.
>
>
> "John Timney \(Microsoft MVP\)" <ti*****@despammed.com> wrote in message
news:<u9**************@tk2msftngp13.phx.gbl>... > > When you say identical servers, you are talking about clustering and its
not > > an easy activity for the inexperienced, especailly if your making use of > > asp.net sessions locally, rather than via a DB on another server for
> > example.
> >
> > Unfortunately, I dont think anyone can easily tell you how implement
> > clustering, your going to have to do a lot of reading about and
> > experimenting.
> > I would start with the materials vailable at the Microsoft Academic
> > Alliance:
> > http://www.msdnaa.net/curriculum/?5925
> >
> > .....and read this
> >
> >
http://www.microsoft.com/windowsserv...ring/default.m > > spx
> >
> > You could however think about performance increases another way. You
have > > two servers, both capable of making use of ASP.NET and IIS6's caching > > features - which are very good. You could split your server based on asp.net > > applications, gauging use and balancing on a best guess and testing basis on > > whether an individual server can cope with your expected max load, and
where > > you need to split off to another box. You could for example render all
of > > your images and files from one server, and all of your asp.net from
> > another - all good ways of increasing the performance, I'm sure you can > > think of other ways if you take the time to go over your solution.
> >
> > --
> > Regards
> >
> > John Timney
> > Microsoft Regional Director
> > Microsoft MVP
> >
> >
> > "GeekBoy" <ge*********@yahoo.com> wrote in message
> > news:b0**************************@posting.google.c om...
> > > Okay, I have two identical web servers running Windows 2003 web
> > > server. I have an ASP.NET application which runs great on one of
> > > them. Dedicated IP address, behind our firewall, etc. Everyone's
> > > happy.
> > > Now -- how do I take advantage of that second computer to
> > > "load-balance" the web site? Will it really give my users a noticable > > > performance increase? How do you accomplish this? I've read many of > > > those MS articles and it's complicated... telling me to use load
> > > balancing hardware and what-not. What's the easiest and quickest way > > > to get a nice performance (and reliability) boost with multiple web > > > server? Or, is this more complicated than just a few minutes of
> > > configuration setup? :)

Nov 18 '05 #10
Yes, Win23K has a clustering/load balancing service you could look at
utilising.

You could always ask them to configure and loan you a router to test your
configuration, and if you get the results you expect it will give you the
justification to raise the business case for one.

--
Regards

John Timney
Microsoft Regional Director
Microsoft MVP
"GeekBoy" <ge*********@yahoo.com> wrote in message
news:b0**************************@posting.google.c om...
One of my network guys just told me that this can't be done internally
here because none of the employee computers go though our routers,
only external users. I thought Cisco Local Director handles stuff
like this, but I might be wrong. Otherwise, isn't there a Microsoft
Cluster Service available, which is supposed to be true network load
balancing?
"John Timney \(Microsoft MVP\)" <ti*****@despammed.com> wrote in message

news:<##**************@TK2MSFTNGP10.phx.gbl>...
It depends on your routers, some do whats called sticky routing and send you
to the same server, others randonly choose one.

--
Regards

John Timney
Microsoft Regional Director
Microsoft MVP

"GeekBoy" <ge*********@yahoo.com> wrote in message
news:b0**************************@posting.google.c om...
One more question --
Do you mean to say that each REQUEST will alternate between web
servers, or each SESSION would alternate between servers? If I use
the website and post stuff on one page, then post stuff on another
page, am I hitting the same web server or is the router switching me
between the two, or which ever is next in the round-robin approach?
"John Timney \(Microsoft MVP\)" <ti*****@despammed.com> wrote in message
news:<eb**************@TK2MSFTNGP09.phx.gbl>...
> Most of your answers will come from testing your scenarios of use,
to > identify likely patterns of failure or peak use. If you have two

servers
> doing the same task, you could use simple round robin DNS to choose a server
> at random, or configure your routers to choose a server based on
client IP.
> They are mostly network issues for a implementing a cluster. As I
said, > unfortunately most of this is simply a long reading and learning

exercise.
>
> The comment on moving images and hard files (word docs etc) to another > server means your asp.net severs dont have to process request for these. > Your asp.net pages are delivered faster and the browser thenrequest the > fixed things like images from another server at the client side in a

typical
> request fashion - thus you remove CPU cycles from the asp.net servers whos
> primary goal is to process code behind, DLL's and aspx files. This
is a > technique used by very large volume sites like the BBC.
>
> --
> Regards
>
> John Timney
> Microsoft Regional Director
> Microsoft MVP
>
>
> "GeekBoy" <ge*********@yahoo.com> wrote in message
> news:b0**************************@posting.google.c om...
> > I already have the StateServer on another computer and that's running > > fine.
> > I guess I am talking about clustering -- the ability to "sniff out" > > which server is best suited to handle the current request, based upon > > cpu, memory, load, whatever you want to call it. Is this generally > > handled by routing equipment setup in the firmware, or is it all
> > software server setup?
> > With regard to your other comment about speed increases, I understand > > what you're saying... if I have, say, two important sections of the > > website, I could push one section to another server and host the
> > application there, seemingly pushing half the company to another
> > computer, dedicated to that one task. I agree it could increase
> > performance, but I'm not so sure I understand how, say, moving all
> > images or web pages themselves to another server could increase
> > performance? These things are tiny in comparison with the code-behind > > DLL and the ASPX pages it needs to load, not to mention the SQL
> > commands, which are probably the bulk of the time it takes to render a > > page.
> >
> >
> > "John Timney \(Microsoft MVP\)" <ti*****@despammed.com> wrote in

message
news:<u9**************@tk2msftngp13.phx.gbl>...
> > > When you say identical servers, you are talking about clustering and its
not
> > > an easy activity for the inexperienced, especailly if your
making use of
> > > asp.net sessions locally, rather than via a DB on another server
for > > > example.
> > >
> > > Unfortunately, I dont think anyone can easily tell you how implement > > > clustering, your going to have to do a lot of reading about and
> > > experimenting.
> > > I would start with the materials vailable at the Microsoft Academic > > > Alliance:
> > > http://www.msdnaa.net/curriculum/?5925
> > >
> > > .....and read this
> > >
> > >
>

http://www.microsoft.com/windowsserv...ring/default.m
> > > spx
> > >
> > > You could however think about performance increases another way.

You
have
> > > two servers, both capable of making use of ASP.NET and IIS6's

caching
> > > features - which are very good. You could split your server based on asp.net
> > > applications, gauging use and balancing on a best guess and
testing basis on
> > > whether an individual server can cope with your expected max
load, and
where
> > > you need to split off to another box. You could for example
render all
of
> > > your images and files from one server, and all of your asp.net
from > > > another - all good ways of increasing the performance, I'm sure you can
> > > think of other ways if you take the time to go over your
solution. > > >
> > > --
> > > Regards
> > >
> > > John Timney
> > > Microsoft Regional Director
> > > Microsoft MVP
> > >
> > >
> > > "GeekBoy" <ge*********@yahoo.com> wrote in message
> > > news:b0**************************@posting.google.c om...
> > > > Okay, I have two identical web servers running Windows 2003 web > > > > server. I have an ASP.NET application which runs great on one of > > > > them. Dedicated IP address, behind our firewall, etc. Everyone's > > > > happy.
> > > > Now -- how do I take advantage of that second computer to
> > > > "load-balance" the web site? Will it really give my users a

noticable
> > > > performance increase? How do you accomplish this? I've read many of
> > > > those MS articles and it's complicated... telling me to use
load > > > > balancing hardware and what-not. What's the easiest and quickest way
> > > > to get a nice performance (and reliability) boost with
multiple web
> > > > server? Or, is this more complicated than just a few minutes

of > > > > configuration setup? :)

Nov 18 '05 #11

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: yagish | last post by:
Hi Techies, Am really new with the Oracle 9i Forms and am searching for a way to perform Load Balancing in Oracle 9i Forms Application. Its not a J2EE application, so cannot go the OC4J way. I...
3
by: Shabam | last post by:
When a web application becomes overloaded with traffic, one can offload it by load balancing and clustering the front end web servers. What happens when the back-end MSSQL database becomes...
2
by: Christopher D. Wiederspan | last post by:
I'm wondering if anybody could give me some tips on a good webfarm load-balancing solution for an ASP.NET application. Here's the rundown: we've got 3 identical servers that each have identical...
6
by: Andrew Robinson | last post by:
I am running two servers with a hardware network load balancing device. I know that to share session information between the two servers I need to implement some type of SQL based session...
0
by: HK | last post by:
I'm wanting to get rid of a hardware load balancer and just use the Windows 2003 software load balancing with 2003 Server Web Edition. I'm wondering if anyone here uploads ASP.NET code to 2 or...
2
by: RahulBose | last post by:
I am trying to implement Load Balancing but facing some problems: A Web farm usually consists of 2 or more computers, orchestrated by some form of load balancing. Consider my scenario: 1. I...
1
dmjpro
by: dmjpro | last post by:
Plzzzz give me the load balancing factors on application server. If our application is not logged off successfully then the database connection for that user is still alive. u can imagine with in a...
3
by: Anthony Smith | last post by:
Can someone point me to a resource or something were I can set this up cleanly. I don't want to re-invest the wheel. I just want the most common way to do this. I know there is a database option...
1
by: m.a | last post by:
Hello, I am looking for a hosting solution for my asp.net application. I found that some ISP stated that session states are not preserved in a load balancing system. As I know, if the asp.net is...
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.