Hi,
We have a website with a very high volume of traffic. The pages are ASP.NET.
There are some configuration settings that get loaded by the Global.asx file
on Application Start event. The load time for those settings is about 3
seconds.
When the site is running on IIS5 everything is okay.
When the site is running on IIS6 there are problems. It looks like when IIS
starts and all the requests start coming in it is trying to compile the
ASP.NET CLR and to load the settings in Global.asx. However, since there are
over 100 requests/second, soon it starts to give Service Unavailable and log
errors QueueFull in the HTTPERR file.
If I manually stop the IIS, set the directory security of the website to
accept only the local requests, execute one request, wait 5 seconds, and
then change the security to accept all requests, it works great.
Is there a way to give IIS a warm up time? I think it fails because there
are so many requests that come right away before the CLR is compiled and the
load settings in the Global.asx has time to execute.
Thanks,
Arsen 8 2570
No, IIS does not have a "warm up period" feature. It is pretty easy to
script WAST or ACT to custom tailor such a warm-up optimized for your
website, though.
Websites that have high traffic volume usually devise their own mix of
requests to "warm up" a server and get various applications pre-compiled,
etc -- this is especially necessary for .Net applications, which incur a CLR
load-up cost as well as ASP.Net pre-compilation cost. After the server is
warmed up, then it is dropped into the live rotation.
There shouldn't be much difference between IIS5 and IIS6 in startup unless
you're using the health-monitoring features of IIS6 to recycle the worker
process.
--
//David
IIS
This posting is provided "AS IS" with no warranties, and confers no rights.
//
"Arsen V." <ar****************@emergency24.com> wrote in message
news:uN**************@TK2MSFTNGP09.phx.gbl...
Hi,
We have a website with a very high volume of traffic. The pages are ASP.NET.
There are some configuration settings that get loaded by the Global.asx file
on Application Start event. The load time for those settings is about 3
seconds.
When the site is running on IIS5 everything is okay.
When the site is running on IIS6 there are problems. It looks like when IIS
starts and all the requests start coming in it is trying to compile the
ASP.NET CLR and to load the settings in Global.asx. However, since there are
over 100 requests/second, soon it starts to give Service Unavailable and log
errors QueueFull in the HTTPERR file.
If I manually stop the IIS, set the directory security of the website to
accept only the local requests, execute one request, wait 5 seconds, and
then change the security to accept all requests, it works great.
Is there a way to give IIS a warm up time? I think it fails because there
are so many requests that come right away before the CLR is compiled and the
load settings in the Global.asx has time to execute.
Thanks,
Arsen
Hi David,
How can I prevent the IIS6 server from being "dropped into the live
rotation" until the warm up scripts run?
What happens now, is that when the computer comes up, IIS starts and
immediately attempts to process the requests which queue up and cause
problems.
Is there a way to tell the IIS to start accepting the requests only after
certain warm up? I need this to be automatic so if IIS is restarted in the
middle of the night it can come back up without problems.
Thanks,
Arsen
"David Wang [Msft]" <so*****@online.microsoft.com> wrote in message
news:e4**************@TK2MSFTNGP11.phx.gbl... No, IIS does not have a "warm up period" feature. It is pretty easy to script WAST or ACT to custom tailor such a warm-up optimized for your website, though.
Websites that have high traffic volume usually devise their own mix of requests to "warm up" a server and get various applications pre-compiled, etc -- this is especially necessary for .Net applications, which incur a
CLR load-up cost as well as ASP.Net pre-compilation cost. After the server is warmed up, then it is dropped into the live rotation.
There shouldn't be much difference between IIS5 and IIS6 in startup unless you're using the health-monitoring features of IIS6 to recycle the worker process.
-- //David IIS This posting is provided "AS IS" with no warranties, and confers no
rights. // "Arsen V." <ar****************@emergency24.com> wrote in message news:uN**************@TK2MSFTNGP09.phx.gbl... Hi,
We have a website with a very high volume of traffic. The pages are
ASP.NET. There are some configuration settings that get loaded by the Global.asx
file on Application Start event. The load time for those settings is about 3 seconds.
When the site is running on IIS5 everything is okay.
When the site is running on IIS6 there are problems. It looks like when
IIS starts and all the requests start coming in it is trying to compile the ASP.NET CLR and to load the settings in Global.asx. However, since there
are over 100 requests/second, soon it starts to give Service Unavailable and
log errors QueueFull in the HTTPERR file.
If I manually stop the IIS, set the directory security of the website to accept only the local requests, execute one request, wait 5 seconds, and then change the security to accept all requests, it works great.
Is there a way to give IIS a warm up time? I think it fails because there are so many requests that come right away before the CLR is compiled and
the load settings in the Global.asx has time to execute.
Thanks, Arsen
Arsen,
Do you have multiple web servers in a farm? It wasn't clear from your
posts. Are you using a hardware load balancer in front like a BigIP or
similar? If so, you could script up a custom restarter like:
1. IPSECCMD blocks on tcp/80 and tcp/443 - This should take it out of the
LB pool in a short time depending on how you have your LB setup to check
website health.
2. IISRESET
3. Locally, request your webpages to invoke custom code. Easily scriptable
with VBScript/WinHTTP or a variety of command line tools or even WAS as
David Wang suggests.
4. Drop IPSec blocks.
Have you looked at the web garden concept? Maybe it makes sense for you to
use > 1 process for this site if you have some semi-stable custom code that
needs restarting periodically. Regular restarts of IIS or the OS are
something that you don't need if you are running stable code. If you do
seem to need these restarts, this means you have a problem with your custom
code that you need to investigate. With stable web components, IIS will run
for very long periods.
John Alderson
"Arsen V." <ar****************@emergency24.com> wrote in message
news:%2****************@tk2msftngp13.phx.gbl... Hi David,
How can I prevent the IIS6 server from being "dropped into the live rotation" until the warm up scripts run?
What happens now, is that when the computer comes up, IIS starts and immediately attempts to process the requests which queue up and cause problems.
Is there a way to tell the IIS to start accepting the requests only after certain warm up? I need this to be automatic so if IIS is restarted in the middle of the night it can come back up without problems.
Thanks, Arsen
"David Wang [Msft]" <so*****@online.microsoft.com> wrote in message news:e4**************@TK2MSFTNGP11.phx.gbl... No, IIS does not have a "warm up period" feature. It is pretty easy to script WAST or ACT to custom tailor such a warm-up optimized for your website, though.
Websites that have high traffic volume usually devise their own mix of requests to "warm up" a server and get various applications pre-compiled, etc -- this is especially necessary for .Net applications, which incur a CLR load-up cost as well as ASP.Net pre-compilation cost. After the server is warmed up, then it is dropped into the live rotation.
There shouldn't be much difference between IIS5 and IIS6 in startup unless you're using the health-monitoring features of IIS6 to recycle the worker process.
-- //David IIS This posting is provided "AS IS" with no warranties, and confers no rights. // "Arsen V." <ar****************@emergency24.com> wrote in message news:uN**************@TK2MSFTNGP09.phx.gbl... Hi,
We have a website with a very high volume of traffic. The pages are ASP.NET. There are some configuration settings that get loaded by the Global.asx file on Application Start event. The load time for those settings is about 3 seconds.
When the site is running on IIS5 everything is okay.
When the site is running on IIS6 there are problems. It looks like when IIS starts and all the requests start coming in it is trying to compile the ASP.NET CLR and to load the settings in Global.asx. However, since there are over 100 requests/second, soon it starts to give Service Unavailable and log errors QueueFull in the HTTPERR file.
If I manually stop the IIS, set the directory security of the website to accept only the local requests, execute one request, wait 5 seconds, and then change the security to accept all requests, it works great.
Is there a way to give IIS a warm up time? I think it fails because there are so many requests that come right away before the CLR is compiled and the load settings in the Global.asx has time to execute.
Thanks, Arsen
Hi John,
Thanks for your suggestion. This is pretty much what I was looking for. I
did not think of the idea to use IPSECCMD to block the requests! This is
great.
Yes, I do have a Load Balancer in front of the web farm. The code is
stable. However, sometimes due to load there is too much queueing (this only
occurs on IIS 6) and the IIS server shuts down the process.
Thanks,
Arsen
"John Alderson" <jalderson^at^adelphia^dot^net> wrote in message
news:%2******************@TK2MSFTNGP11.phx.gbl... Arsen,
Do you have multiple web servers in a farm? It wasn't clear from your posts. Are you using a hardware load balancer in front like a BigIP or similar? If so, you could script up a custom restarter like:
1. IPSECCMD blocks on tcp/80 and tcp/443 - This should take it out of the LB pool in a short time depending on how you have your LB setup to check website health. 2. IISRESET 3. Locally, request your webpages to invoke custom code. Easily
scriptable with VBScript/WinHTTP or a variety of command line tools or even WAS as David Wang suggests. 4. Drop IPSec blocks.
Have you looked at the web garden concept? Maybe it makes sense for you
to use > 1 process for this site if you have some semi-stable custom code
that needs restarting periodically. Regular restarts of IIS or the OS are something that you don't need if you are running stable code. If you do seem to need these restarts, this means you have a problem with your
custom code that you need to investigate. With stable web components, IIS will
run for very long periods.
John Alderson
"Arsen V." <ar****************@emergency24.com> wrote in message news:%2****************@tk2msftngp13.phx.gbl... Hi David,
How can I prevent the IIS6 server from being "dropped into the live rotation" until the warm up scripts run?
What happens now, is that when the computer comes up, IIS starts and immediately attempts to process the requests which queue up and cause problems.
Is there a way to tell the IIS to start accepting the requests only
after certain warm up? I need this to be automatic so if IIS is restarted in
the middle of the night it can come back up without problems.
Thanks, Arsen
"David Wang [Msft]" <so*****@online.microsoft.com> wrote in message news:e4**************@TK2MSFTNGP11.phx.gbl... No, IIS does not have a "warm up period" feature. It is pretty easy to script WAST or ACT to custom tailor such a warm-up optimized for your website, though.
Websites that have high traffic volume usually devise their own mix of requests to "warm up" a server and get various applications
pre-compiled, etc -- this is especially necessary for .Net applications, which incur
a CLR load-up cost as well as ASP.Net pre-compilation cost. After the server is warmed up, then it is dropped into the live rotation.
There shouldn't be much difference between IIS5 and IIS6 in startup unless you're using the health-monitoring features of IIS6 to recycle the
worker process.
-- //David IIS This posting is provided "AS IS" with no warranties, and confers no rights. // "Arsen V." <ar****************@emergency24.com> wrote in message news:uN**************@TK2MSFTNGP09.phx.gbl... Hi,
We have a website with a very high volume of traffic. The pages are ASP.NET. There are some configuration settings that get loaded by the Global.asx file on Application Start event. The load time for those settings is about 3 seconds.
When the site is running on IIS5 everything is okay.
When the site is running on IIS6 there are problems. It looks like when IIS starts and all the requests start coming in it is trying to compile the ASP.NET CLR and to load the settings in Global.asx. However, since
there are over 100 requests/second, soon it starts to give Service Unavailable
and log errors QueueFull in the HTTPERR file.
If I manually stop the IIS, set the directory security of the website
to accept only the local requests, execute one request, wait 5 seconds,
and then change the security to accept all requests, it works great.
Is there a way to give IIS a warm up time? I think it fails because
there are so many requests that come right away before the CLR is compiled
and the load settings in the Global.asx has time to execute.
Thanks, Arsen
Hi John,
Windows 2003 Server dos not come with "IPSECCMD". What can I use instead?
Could you point me to a simple example of how to block TCP/80 and then
unblock it using the command line?
Thanks,
Arsen
"Arsen V." <ar****************@emergency24.com> wrote in message
news:eb*************@tk2msftngp13.phx.gbl... Hi John,
Thanks for your suggestion. This is pretty much what I was looking for. I did not think of the idea to use IPSECCMD to block the requests! This is great.
Yes, I do have a Load Balancer in front of the web farm. The code is stable. However, sometimes due to load there is too much queueing (this
only occurs on IIS 6) and the IIS server shuts down the process.
Thanks, Arsen
"John Alderson" <jalderson^at^adelphia^dot^net> wrote in message news:%2******************@TK2MSFTNGP11.phx.gbl... Arsen,
Do you have multiple web servers in a farm? It wasn't clear from your posts. Are you using a hardware load balancer in front like a BigIP or similar? If so, you could script up a custom restarter like:
1. IPSECCMD blocks on tcp/80 and tcp/443 - This should take it out of
the LB pool in a short time depending on how you have your LB setup to check website health. 2. IISRESET 3. Locally, request your webpages to invoke custom code. Easily scriptable with VBScript/WinHTTP or a variety of command line tools or even WAS as David Wang suggests. 4. Drop IPSec blocks.
Have you looked at the web garden concept? Maybe it makes sense for you to use > 1 process for this site if you have some semi-stable custom code that needs restarting periodically. Regular restarts of IIS or the OS are something that you don't need if you are running stable code. If you do seem to need these restarts, this means you have a problem with your custom code that you need to investigate. With stable web components, IIS will run for very long periods.
John Alderson
"Arsen V." <ar****************@emergency24.com> wrote in message news:%2****************@tk2msftngp13.phx.gbl... Hi David,
How can I prevent the IIS6 server from being "dropped into the live rotation" until the warm up scripts run?
What happens now, is that when the computer comes up, IIS starts and immediately attempts to process the requests which queue up and cause problems.
Is there a way to tell the IIS to start accepting the requests only after certain warm up? I need this to be automatic so if IIS is restarted in the middle of the night it can come back up without problems.
Thanks, Arsen
"David Wang [Msft]" <so*****@online.microsoft.com> wrote in message news:e4**************@TK2MSFTNGP11.phx.gbl... > No, IIS does not have a "warm up period" feature. It is pretty easy
to> script WAST or ACT to custom tailor such a warm-up optimized for your > website, though. > > Websites that have high traffic volume usually devise their own mix
of> requests to "warm up" a server and get various applications pre-compiled,> etc -- this is especially necessary for .Net applications, which
incur a CLR > load-up cost as well as ASP.Net pre-compilation cost. After the
server> is > warmed up, then it is dropped into the live rotation. > > There shouldn't be much difference between IIS5 and IIS6 in startup > unless > you're using the health-monitoring features of IIS6 to recycle the
worker> process. > > -- > //David > IIS > This posting is provided "AS IS" with no warranties, and confers no rights. > // > "Arsen V." <ar****************@emergency24.com> wrote in message > news:uN**************@TK2MSFTNGP09.phx.gbl... > Hi, > > We have a website with a very high volume of traffic. The pages are ASP.NET. > There are some configuration settings that get loaded by the
Global.asx file > on Application Start event. The load time for those settings is about
3> seconds. > > When the site is running on IIS5 everything is okay. > > When the site is running on IIS6 there are problems. It looks like
when IIS > starts and all the requests start coming in it is trying to compile
the> ASP.NET CLR and to load the settings in Global.asx. However, since there are > over 100 requests/second, soon it starts to give Service Unavailable and log > errors QueueFull in the HTTPERR file. > > If I manually stop the IIS, set the directory security of the website to> accept only the local requests, execute one request, wait 5 seconds, and> then change the security to accept all requests, it works great. > > Is there a way to give IIS a warm up time? I think it fails because there> are so many requests that come right away before the CLR is compiled and the > load settings in the Global.asx has time to execute. > > Thanks, > Arsen > > > >
Hi Arsen,
IPSECCMD is a part of the Support Tools that can be found on your
installation CD ROM. The syntax is very similar to Windows 2000's
IPSECPOL - part of the Resource Kit. I do have a set of commands to do a
block on 80, 443 but I'll have to dig them up at work. I'll post them for
you.
John
"Arsen V." <ar****************@emergency24.com> wrote in message
news:un**************@TK2MSFTNGP10.phx.gbl... Hi John,
Windows 2003 Server dos not come with "IPSECCMD". What can I use instead?
Could you point me to a simple example of how to block TCP/80 and then unblock it using the command line?
Thanks, Arsen
"Arsen V." <ar****************@emergency24.com> wrote in message news:eb*************@tk2msftngp13.phx.gbl... Hi John,
Thanks for your suggestion. This is pretty much what I was looking for. I did not think of the idea to use IPSECCMD to block the requests! This is great.
Yes, I do have a Load Balancer in front of the web farm. The code is stable. However, sometimes due to load there is too much queueing (this only occurs on IIS 6) and the IIS server shuts down the process.
Thanks, Arsen
"John Alderson" <jalderson^at^adelphia^dot^net> wrote in message news:%2******************@TK2MSFTNGP11.phx.gbl... > Arsen, > > Do you have multiple web servers in a farm? It wasn't clear from your > posts. Are you using a hardware load balancer in front like a BigIP or > similar? If so, you could script up a custom restarter like: > > 1. IPSECCMD blocks on tcp/80 and tcp/443 - This should take it out of the > LB pool in a short time depending on how you have your LB setup to > check > website health. > 2. IISRESET > 3. Locally, request your webpages to invoke custom code. Easily scriptable > with VBScript/WinHTTP or a variety of command line tools or even WAS as > David Wang suggests. > 4. Drop IPSec blocks. > > Have you looked at the web garden concept? Maybe it makes sense for > you to > use > 1 process for this site if you have some semi-stable custom code that > needs restarting periodically. Regular restarts of IIS or the OS are > something that you don't need if you are running stable code. If you > do > seem to need these restarts, this means you have a problem with your custom > code that you need to investigate. With stable web components, IIS > will run > for very long periods. > > John Alderson > > "Arsen V." <ar****************@emergency24.com> wrote in message > news:%2****************@tk2msftngp13.phx.gbl... > > Hi David, > > > > How can I prevent the IIS6 server from being "dropped into the live > > rotation" until the warm up scripts run? > > > > What happens now, is that when the computer comes up, IIS starts and > > immediately attempts to process the requests which queue up and cause > > problems. > > > > Is there a way to tell the IIS to start accepting the requests only after > > certain warm up? I need this to be automatic so if IIS is restarted > > in the > > middle of the night it can come back up without problems. > > > > Thanks, > > Arsen > > > > "David Wang [Msft]" <so*****@online.microsoft.com> wrote in message > > news:e4**************@TK2MSFTNGP11.phx.gbl... > >> No, IIS does not have a "warm up period" feature. It is pretty easy to > >> script WAST or ACT to custom tailor such a warm-up optimized for > >> your > >> website, though. > >> > >> Websites that have high traffic volume usually devise their own mix of > >> requests to "warm up" a server and get various applications pre-compiled, > >> etc -- this is especially necessary for .Net applications, which incur a > > CLR > >> load-up cost as well as ASP.Net pre-compilation cost. After the server > >> is > >> warmed up, then it is dropped into the live rotation. > >> > >> There shouldn't be much difference between IIS5 and IIS6 in startup > >> unless > >> you're using the health-monitoring features of IIS6 to recycle the worker > >> process. > >> > >> -- > >> //David > >> IIS > >> This posting is provided "AS IS" with no warranties, and confers no > > rights. > >> // > >> "Arsen V." <ar****************@emergency24.com> wrote in message > >> news:uN**************@TK2MSFTNGP09.phx.gbl... > >> Hi, > >> > >> We have a website with a very high volume of traffic. The pages are > > ASP.NET. > >> There are some configuration settings that get loaded by the Global.asx > > file > >> on Application Start event. The load time for those settings is > >> about 3 > >> seconds. > >> > >> When the site is running on IIS5 everything is okay. > >> > >> When the site is running on IIS6 there are problems. It looks like when > > IIS > >> starts and all the requests start coming in it is trying to compile the > >> ASP.NET CLR and to load the settings in Global.asx. However, since there > > are > >> over 100 requests/second, soon it starts to give Service Unavailable and > > log > >> errors QueueFull in the HTTPERR file. > >> > >> If I manually stop the IIS, set the directory security of the > >> website to > >> accept only the local requests, execute one request, wait 5 seconds, and > >> then change the security to accept all requests, it works great. > >> > >> Is there a way to give IIS a warm up time? I think it fails because there > >> are so many requests that come right away before the CLR is compiled and > > the > >> load settings in the Global.asx has time to execute. > >> > >> Thanks, > >> Arsen > >> > >> > >> > >> > > > > >
Arsen,
Here's a set of commands to create a IPSec Filter policy to block tcp/80 and
tcp/443. Instead of using IPSECCMD, I used NETSH.
*********************************************
netsh ipsec static add policy name="Packet Filters - IIS" description="Web
Server Hardening policy" assign=no
netsh ipsec static add filterlist name="HTTP Server" description="Server
Hardening"
netsh ipsec static add filterlist name="HTTPS Server" description="Server
Hardening",
netsh ipsec static add filterlist name="ALL Inbound Traffic"
description="Server Hardening"
netsh ipsec static add filteraction name=SecPermit description="Allows
Traffic to Pass" action=permit
netsh ipsec static add filteraction name=Block description="Blocks Traffic"
action=block
netsh ipsec static add filter filterlist="HTTP Server" srcaddr=any
dstaddr=me description="HTTP Traffic" protocol=TCP srcport=0 dstport=80
netsh ipsec static add filter filterlist="HTTPS Server" srcaddr=any
dstaddr=me description="HTTPS Traffic" protocol=TCP srcport=0 dstport=443
netsh ipsec static add filter filterlist="ALL Inbound Traffic" srcaddr=any
dstaddr=me description="ALL Inbound Traffic" protocol=any srcport=0
dstport=0",
netsh ipsec static add rule name="HTTP Server Rule" policy="Packet Filters -
IIS" filterlist="HTTP Server" kerberos=yes filteraction=Block
netsh ipsec static add rule name="HTTPS Server Rule" policy="Packet
Filters - IIS" filterlist="HTTPS Server" kerberos=yes filteraction=Block
netsh ipsec static add rule name="ALL Inbound Traffic Rule" policy="Packet
Filters - IIS" filterlist="ALL Inbound Traffic" kerberos=yes
filteraction=SecPermit
netsh ipsec static set policy name="Packet Filters - IIS" assign=y"
*********************************************
Once it's created, you can enable and disable it by using NETSH to assign or
unassign the policy. The last command above assigns it so it enables it.
John Alderson
"John Alderson" <jalderson^at^adelphia^dot^net> wrote in message
news:%2***************@TK2MSFTNGP10.phx.gbl... Hi Arsen,
IPSECCMD is a part of the Support Tools that can be found on your installation CD ROM. The syntax is very similar to Windows 2000's IPSECPOL - part of the Resource Kit. I do have a set of commands to do a block on 80, 443 but I'll have to dig them up at work. I'll post them for you.
John
"Arsen V." <ar****************@emergency24.com> wrote in message news:un**************@TK2MSFTNGP10.phx.gbl... Hi John,
Windows 2003 Server dos not come with "IPSECCMD". What can I use instead?
Could you point me to a simple example of how to block TCP/80 and then unblock it using the command line?
Thanks, Arsen
"Arsen V." <ar****************@emergency24.com> wrote in message news:eb*************@tk2msftngp13.phx.gbl... Hi John,
Thanks for your suggestion. This is pretty much what I was looking for. I did not think of the idea to use IPSECCMD to block the requests! This is great.
Yes, I do have a Load Balancer in front of the web farm. The code is stable. However, sometimes due to load there is too much queueing (this only occurs on IIS 6) and the IIS server shuts down the process.
Thanks, Arsen
"John Alderson" <jalderson^at^adelphia^dot^net> wrote in message news:%2******************@TK2MSFTNGP11.phx.gbl... > Arsen, > > Do you have multiple web servers in a farm? It wasn't clear from your > posts. Are you using a hardware load balancer in front like a BigIP > or > similar? If so, you could script up a custom restarter like: > > 1. IPSECCMD blocks on tcp/80 and tcp/443 - This should take it out of the > LB pool in a short time depending on how you have your LB setup to > check > website health. > 2. IISRESET > 3. Locally, request your webpages to invoke custom code. Easily scriptable > with VBScript/WinHTTP or a variety of command line tools or even WAS > as > David Wang suggests. > 4. Drop IPSec blocks. > > Have you looked at the web garden concept? Maybe it makes sense for > you to > use > 1 process for this site if you have some semi-stable custom code that > needs restarting periodically. Regular restarts of IIS or the OS are > something that you don't need if you are running stable code. If you > do > seem to need these restarts, this means you have a problem with your custom > code that you need to investigate. With stable web components, IIS > will run > for very long periods. > > John Alderson > > "Arsen V." <ar****************@emergency24.com> wrote in message > news:%2****************@tk2msftngp13.phx.gbl... > > Hi David, > > > > How can I prevent the IIS6 server from being "dropped into the live > > rotation" until the warm up scripts run? > > > > What happens now, is that when the computer comes up, IIS starts and > > immediately attempts to process the requests which queue up and > > cause > > problems. > > > > Is there a way to tell the IIS to start accepting the requests only after > > certain warm up? I need this to be automatic so if IIS is restarted > > in the > > middle of the night it can come back up without problems. > > > > Thanks, > > Arsen > > > > "David Wang [Msft]" <so*****@online.microsoft.com> wrote in message > > news:e4**************@TK2MSFTNGP11.phx.gbl... > >> No, IIS does not have a "warm up period" feature. It is pretty > >> easy to > >> script WAST or ACT to custom tailor such a warm-up optimized for > >> your > >> website, though. > >> > >> Websites that have high traffic volume usually devise their own mix of > >> requests to "warm up" a server and get various applications pre-compiled, > >> etc -- this is especially necessary for .Net applications, which incur a > > CLR > >> load-up cost as well as ASP.Net pre-compilation cost. After the server > >> is > >> warmed up, then it is dropped into the live rotation. > >> > >> There shouldn't be much difference between IIS5 and IIS6 in startup > >> unless > >> you're using the health-monitoring features of IIS6 to recycle the worker > >> process. > >> > >> -- > >> //David > >> IIS > >> This posting is provided "AS IS" with no warranties, and confers no > > rights. > >> // > >> "Arsen V." <ar****************@emergency24.com> wrote in message > >> news:uN**************@TK2MSFTNGP09.phx.gbl... > >> Hi, > >> > >> We have a website with a very high volume of traffic. The pages are > > ASP.NET. > >> There are some configuration settings that get loaded by the Global.asx > > file > >> on Application Start event. The load time for those settings is > >> about 3 > >> seconds. > >> > >> When the site is running on IIS5 everything is okay. > >> > >> When the site is running on IIS6 there are problems. It looks like when > > IIS > >> starts and all the requests start coming in it is trying to compile the > >> ASP.NET CLR and to load the settings in Global.asx. However, since there > > are > >> over 100 requests/second, soon it starts to give Service > >> Unavailable and > > log > >> errors QueueFull in the HTTPERR file. > >> > >> If I manually stop the IIS, set the directory security of the > >> website to > >> accept only the local requests, execute one request, wait 5 > >> seconds, and > >> then change the security to accept all requests, it works great. > >> > >> Is there a way to give IIS a warm up time? I think it fails because there > >> are so many requests that come right away before the CLR is > >> compiled and > > the > >> load settings in the Global.asx has time to execute. > >> > >> Thanks, > >> Arsen > >> > >> > >> > >> > > > > >
Thank you very much!
"John Alderson" <jalderson^at^adelphia^dot^net> wrote in message
news:%2****************@TK2MSFTNGP10.phx.gbl... Arsen,
Here's a set of commands to create a IPSec Filter policy to block tcp/80
and tcp/443. Instead of using IPSECCMD, I used NETSH.
********************************************* netsh ipsec static add policy name="Packet Filters - IIS" description="Web Server Hardening policy" assign=no netsh ipsec static add filterlist name="HTTP Server" description="Server Hardening" netsh ipsec static add filterlist name="HTTPS Server" description="Server Hardening", netsh ipsec static add filterlist name="ALL Inbound Traffic" description="Server Hardening" netsh ipsec static add filteraction name=SecPermit description="Allows Traffic to Pass" action=permit netsh ipsec static add filteraction name=Block description="Blocks
Traffic" action=block netsh ipsec static add filter filterlist="HTTP Server" srcaddr=any dstaddr=me description="HTTP Traffic" protocol=TCP srcport=0 dstport=80 netsh ipsec static add filter filterlist="HTTPS Server" srcaddr=any dstaddr=me description="HTTPS Traffic" protocol=TCP srcport=0 dstport=443 netsh ipsec static add filter filterlist="ALL Inbound Traffic" srcaddr=any dstaddr=me description="ALL Inbound Traffic" protocol=any srcport=0 dstport=0", netsh ipsec static add rule name="HTTP Server Rule" policy="Packet
Filters - IIS" filterlist="HTTP Server" kerberos=yes filteraction=Block netsh ipsec static add rule name="HTTPS Server Rule" policy="Packet Filters - IIS" filterlist="HTTPS Server" kerberos=yes filteraction=Block netsh ipsec static add rule name="ALL Inbound Traffic Rule" policy="Packet Filters - IIS" filterlist="ALL Inbound Traffic" kerberos=yes filteraction=SecPermit netsh ipsec static set policy name="Packet Filters - IIS" assign=y" *********************************************
Once it's created, you can enable and disable it by using NETSH to assign
or unassign the policy. The last command above assigns it so it enables it.
John Alderson "John Alderson" <jalderson^at^adelphia^dot^net> wrote in message news:%2***************@TK2MSFTNGP10.phx.gbl... Hi Arsen,
IPSECCMD is a part of the Support Tools that can be found on your installation CD ROM. The syntax is very similar to Windows 2000's IPSECPOL - part of the Resource Kit. I do have a set of commands to do
a block on 80, 443 but I'll have to dig them up at work. I'll post them
for you.
John
"Arsen V." <ar****************@emergency24.com> wrote in message news:un**************@TK2MSFTNGP10.phx.gbl... Hi John,
Windows 2003 Server dos not come with "IPSECCMD". What can I use
instead? Could you point me to a simple example of how to block TCP/80 and then unblock it using the command line?
Thanks, Arsen
"Arsen V." <ar****************@emergency24.com> wrote in message news:eb*************@tk2msftngp13.phx.gbl... Hi John,
Thanks for your suggestion. This is pretty much what I was looking
for. I did not think of the idea to use IPSECCMD to block the requests! This
is great.
Yes, I do have a Load Balancer in front of the web farm. The code is stable. However, sometimes due to load there is too much queueing
(this only occurs on IIS 6) and the IIS server shuts down the process.
Thanks, Arsen
"John Alderson" <jalderson^at^adelphia^dot^net> wrote in message news:%2******************@TK2MSFTNGP11.phx.gbl... > Arsen, > > Do you have multiple web servers in a farm? It wasn't clear from
your > posts. Are you using a hardware load balancer in front like a BigIP > or > similar? If so, you could script up a custom restarter like: > > 1. IPSECCMD blocks on tcp/80 and tcp/443 - This should take it out
of the > LB pool in a short time depending on how you have your LB setup to > check > website health. > 2. IISRESET > 3. Locally, request your webpages to invoke custom code. Easily scriptable > with VBScript/WinHTTP or a variety of command line tools or even WAS > as > David Wang suggests. > 4. Drop IPSec blocks. > > Have you looked at the web garden concept? Maybe it makes sense for > you to > use > 1 process for this site if you have some semi-stable custom
code that > needs restarting periodically. Regular restarts of IIS or the OS
are > something that you don't need if you are running stable code. If
you > do > seem to need these restarts, this means you have a problem with your custom > code that you need to investigate. With stable web components, IIS > will run > for very long periods. > > John Alderson > > "Arsen V." <ar****************@emergency24.com> wrote in message > news:%2****************@tk2msftngp13.phx.gbl... > > Hi David, > > > > How can I prevent the IIS6 server from being "dropped into the
live > > rotation" until the warm up scripts run? > > > > What happens now, is that when the computer comes up, IIS starts
and > > immediately attempts to process the requests which queue up and > > cause > > problems. > > > > Is there a way to tell the IIS to start accepting the requests
only after > > certain warm up? I need this to be automatic so if IIS is
restarted > > in the > > middle of the night it can come back up without problems. > > > > Thanks, > > Arsen > > > > "David Wang [Msft]" <so*****@online.microsoft.com> wrote in
message > > news:e4**************@TK2MSFTNGP11.phx.gbl... > >> No, IIS does not have a "warm up period" feature. It is pretty > >> easy to > >> script WAST or ACT to custom tailor such a warm-up optimized for > >> your > >> website, though. > >> > >> Websites that have high traffic volume usually devise their own
mix of > >> requests to "warm up" a server and get various applications pre-compiled, > >> etc -- this is especially necessary for .Net applications, which incur a > > CLR > >> load-up cost as well as ASP.Net pre-compilation cost. After the server > >> is > >> warmed up, then it is dropped into the live rotation. > >> > >> There shouldn't be much difference between IIS5 and IIS6 in
startup > >> unless > >> you're using the health-monitoring features of IIS6 to recycle
the worker > >> process. > >> > >> -- > >> //David > >> IIS > >> This posting is provided "AS IS" with no warranties, and confers
no > > rights. > >> // > >> "Arsen V." <ar****************@emergency24.com> wrote in message > >> news:uN**************@TK2MSFTNGP09.phx.gbl... > >> Hi, > >> > >> We have a website with a very high volume of traffic. The pages
are > > ASP.NET. > >> There are some configuration settings that get loaded by the Global.asx > > file > >> on Application Start event. The load time for those settings is > >> about 3 > >> seconds. > >> > >> When the site is running on IIS5 everything is okay. > >> > >> When the site is running on IIS6 there are problems. It looks
like when > > IIS > >> starts and all the requests start coming in it is trying to
compile the > >> ASP.NET CLR and to load the settings in Global.asx. However,
since there > > are > >> over 100 requests/second, soon it starts to give Service > >> Unavailable and > > log > >> errors QueueFull in the HTTPERR file. > >> > >> If I manually stop the IIS, set the directory security of the > >> website to > >> accept only the local requests, execute one request, wait 5 > >> seconds, and > >> then change the security to accept all requests, it works great. > >> > >> Is there a way to give IIS a warm up time? I think it fails
because there > >> are so many requests that come right away before the CLR is > >> compiled and > > the > >> load settings in the Global.asx has time to execute. > >> > >> Thanks, > >> Arsen > >> > >> > >> > >> > > > > > This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: CrystalDBA |
last post by:
I am using SQL Server 2000. I need to query my database for all the
contracts that came in during a certain time frame (user is prompted
for reportingperiodid).
Table - Periods
Fields -...
|
by: Dave |
last post by:
Hi
I am hoping someone might be able to help me out with this.
I am writing a helpdesk system which records agents logging in and out
of the system.
I need to write a stored procedure which...
|
by: Sue |
last post by:
<html>
Is there someone here that can help me validate the period as the
fourth from the last character in an email address. There is other
information and validation on the form I have to do but...
|
by: Ray |
last post by:
I need to convert the normal calendar to show the week no., the period no.
and the financial year. The financial year format is as follows:-
Date start: 2 May, 2005
7 days a week, 4 weeks a...
|
by: rasa |
last post by:
I am able to instantiate and make calls to a com module
that use only primitive data types, but I simply don't
know what the c# equivalent is for a function expecting
short*. Any help would be...
|
by: laimis |
last post by:
Hello,
has anyone succesfully used an approach that I read somewhere suggesting
that after deploying asp.net application, one can create a windows
service or scheduled task that requests for...
|
by: Mike |
last post by:
In SQL 2000 I have been using Log Shipping to keep a warm backup copy
of all my production databases in a different site. Prior to setting
up my Maintenance Plan to implement log shipping, on my...
|
by: =?Utf-8?B?YmVuamk=?= |
last post by:
Hi,
As this article (http://msdn2.microsoft.com/en-us/magazine/cc163655.aspx)
mentions, there is a cold and warm start time for managed apps. I'm running a
few .net 2.0 winforms apps on my...
|
by: Adem24 |
last post by:
I need a good and fast random number generator (RNG),
and a linear congruential generator (LCG),
both with a max period >= 31 bits; the bigger the better.
Additional requirements:
- Must use ...
|
by: nemocccc |
last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
|
by: Sonnysonu |
last post by:
This is the data of csv file
1 2 3
1 2 3
1 2 3
1 2 3
2 3
2 3
3
the lengths should be different i have to store the data by column-wise with in the specific length.
suppose the i have to...
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers,...
|
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
|
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
|
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 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 a new...
|
by: adsilva |
last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
| |