Groups | Blog | Home
all groups > asp.net > june 2004 >

asp.net : MSDE Web Connections Using ASP.net


Martin Harran
6/25/2004 10:23:22 PM
MSDE is throttled for 8 concurrent operations. As ASP.net is designed around
disconnected recordsets, I'm wondering how busy a site using ASP.net would
have to get before the workload governor starts to have a noticeable effect.

Anyone have any experience of this or guidelines?

Martin Harran

Dan Brussee
6/25/2004 10:40:38 PM
This may not be true, but I heard that the "throttling" was basically
a mechanism to artificially slow the server down as it went over X
number of concurrent users... not that it would just stop working.

On Fri, 25 Jun 2004 22:53:51 +0100, "John Timney \(Microsoft MVP\)"
[quoted text, click to view]
John Timney (Microsoft MVP)
6/25/2004 10:53:51 PM
If its throttled to 8 then in theory your max connections would be 8
sessions with an open connection, as thats the worst case you should plan
for if each session is capable of opening a connection. However, using
caching could allow thousands of concurrent users - it really depends on how
often your pages need to actually hit the DB connection. Also, a
disconnected read only connection added to the cache has little impact on
your concurrency unless the data changes often and needs to be constantly
refreshed.

Regards

John Timney
Microsoft Regional Director
Microsoft MVP


[quoted text, click to view]

Martin Harran
6/28/2004 12:02:14 AM

[quoted text, click to view]

It's not actually the number of concurrent user, it's concurrent operations.
From
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnmsde2kwrk/html/msde2000webapp.asp

<quote>
Understanding the Workload Governor
All versions of SQL Server 2000 (including MSDE 2000) support up to 32,767
connections per instance ...[snip] ... More importantly for your application
designs, MSDE 2000 employs what is known as a concurrent Workload Governor.
The effect of the governor is to slow certain operations down by stalling
user connections for a few milliseconds whenever there are more than eight
concurrent operations. Some system-generated events in the database engine
count against this eight-operation limit, so the governor may kick in even
when your application code requests fewer than eight operations. The key is
concurrent operations, such as executing a query. This is not the same as
concurrent users. In most applications, there is a certain amount of user
"think time," where a live connection to the server exists, but the user is
not actually performing a task that accesses the database. The actual number
of concurrent users can be much higher.
</quote>

I'm just wondering what this means in practice.

Martin Harran

AddThis Social Bookmark Button