I work for an internet ticket sales company and our largest customer
always has a tremendous volume of hits on our site as soon as tickets
go on sale. (I say tremendous, because for our current scenario as a
startup, it is tremendous to us. The actual number is somewhere near
500 people hitting the site all at once as soon as tickets go on sale.
The number then decreases fairly rapidly as the day goes on.) We
learned last year that with our old application, we couldnt acceptably
handle that volume. This year, we have made many changes to the
application, but i would also like to put measures in place to handle
any trouble gracefully.

My plan is to set something up like this: Using load testing tools,
calculate the maximum number of concurrent connections our site can
manage and still perform acceptably. Lets call this X. Set the
site/application up to count to X and then as soon as user #X+1 hits
the site, they are redirected to another site with one static page that
simply tells them to wait and try back later. (This may be automated
with META refresh tags or something).

Now, I have read several other posts that help with this. However, I
have one major difference from those. I am using SQL Server to manage
session state because we are currently on a Web Garden and will be
moving to a cluster soon. From what i understand on the other posts,
you set something up in Global.asax (by the way, I am using ASP.NET) in
the Session_Start and Session_End events to count the active sessions
and handle it appropriately. However, with SQL server managing session
state, it never fires the Session_End event. Therefore my number never
drops below X until the session times out after 20 minutes or so.

I'd love to do this in IIS without setting a limit on the web site the
standard way (in properties box) because after it hits the limit, it
just generates a standard "Service Unavailable" message and then we get
tons of support calls and emails. :(

Any suggestions? Thanks for any help in advance!

Jorin

Re: "Service Unavailable" Redirect by jeff

jeff
Sat Sep 24 08:32:09 CDT 2005

On 20 Sep 2005 20:24:51 -0700, jslaybaugh@gmail.com wrote:

>I work for an internet ticket sales company and our largest customer
>always has a tremendous volume of hits on our site as soon as tickets
>go on sale. (I say tremendous, because for our current scenario as a
>startup, it is tremendous to us. The actual number is somewhere near
>500 people hitting the site all at once as soon as tickets go on sale.
>The number then decreases fairly rapidly as the day goes on.) We
>learned last year that with our old application, we couldnt acceptably
>handle that volume. This year, we have made many changes to the
>application, but i would also like to put measures in place to handle
>any trouble gracefully.
>
>My plan is to set something up like this: Using load testing tools,
>calculate the maximum number of concurrent connections our site can
>manage and still perform acceptably. Lets call this X. Set the
>site/application up to count to X and then as soon as user #X+1 hits
>the site, they are redirected to another site with one static page that
>simply tells them to wait and try back later. (This may be automated
>with META refresh tags or something).
>
>Now, I have read several other posts that help with this. However, I
>have one major difference from those. I am using SQL Server to manage
>session state because we are currently on a Web Garden and will be
>moving to a cluster soon. From what i understand on the other posts,
>you set something up in Global.asax (by the way, I am using ASP.NET) in
>the Session_Start and Session_End events to count the active sessions
>and handle it appropriately. However, with SQL server managing session
>state, it never fires the Session_End event. Therefore my number never
>drops below X until the session times out after 20 minutes or so.
>
>I'd love to do this in IIS without setting a limit on the web site the
>standard way (in properties box) because after it hits the limit, it
>just generates a standard "Service Unavailable" message and then we get
>tons of support calls and emails. :(
>
>Any suggestions? Thanks for any help in advance!

Clustering. It's time.

Jeff

Re: "Service Unavailable" Redirect by jslaybaugh

jslaybaugh
Sat Sep 24 15:40:55 CDT 2005

Thanks for the advice. We are going to do that (like i said in the
original post) soon. However, our current budget and time constraints
don't allow us to do that right now. I need a solution in place by
early October to handle this one time load. Once we handle it, we can
start to plan a clustering situation for future growth.

Any other suggestions that can be handled from a software side?

Jorin