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? :) 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? :)
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? :)
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? :)
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? :)
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? :)
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? :)
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? :)
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? :)
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? :)
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? :)
This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
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...
|
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...
|
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...
|
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...
|
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...
|
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...
|
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...
|
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...
|
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...
|
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...
|
by: ryjfgjl |
last post by:
ExcelToDatabase: batch import excel into database automatically...
|
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...
|
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...
|
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...
|
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)...
|
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...
|
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...
|
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...
| |