Can you have 50 simultaneous web users with a MSDE, ASP.NET/ADO.NET backend...?

D

Dan V.

Since an ASP.NET/ADO.NET website is run on the server by a single "asp_net
worker process", therefore doesn't that mean that even 50 simultaneous human
users of the website would appear to the database backend as a single user.
Therefore, wouldn't switching our Access (actually Jet 4.0 OLEDB) database
backend on our ASP.NET/ADO.NET website to an MSDE backend be an advantageous
change to make while NOT limiting the number of simultaneous web users in
any way?
 
B

Bob Barrows [MVP]

Dan said:
Since an ASP.NET/ADO.NET website is run on the server by a single
"asp_net worker process", therefore doesn't that mean that even 50
simultaneous human users of the website would appear to the database
backend as a single user.

No. Multiple connections will be made. Yes, they will be made by the same
user, but that does not decrease the number of connections made. Each
connection contains its own session.
Therefore, wouldn't switching our Access
(actually Jet 4.0 OLEDB) database backend on our ASP.NET/ADO.NET
website to an MSDE backend be an advantageous change to make while
NOT limiting the number of simultaneous web users in any way?

I don't follow you. In your first statement, you seem to be arguing (albeit
based on a flawed premise) in favor of retaining your Access backend ...


Bob Barrows
 
J

Juan T. Llibre

I understood his post as requesting confirmation for his impression
that replacing his Access database with an MSDE database would
increase his his website's capacity to serve customers, since MSDE
doesn't choke on 50 simultaneous connections while Access might.

I agree with that.

Whether it's 50 simultaneous users each requesting a connection,
or one user requesting 50 connections is immaterial to the end result :

At some point, Access will choke while MSDE will continue to chug along.
 
B

Bob Barrows [MVP]

Juan said:
I understood his post as requesting confirmation for his impression
that replacing his Access database with an MSDE database would
increase his his website's capacity to serve customers, since MSDE
doesn't choke on 50 simultaneous connections while Access might.

I agree with that.

Same here - while I have read about an application where careful coding and
connection-handling allowed Access to adequately handle 200 users, MSDE
would probably have done the job better.
Whether it's 50 simultaneous users each requesting a connection,
or one user requesting 50 connections is immaterial to the end result
:

At some point, Access will choke while MSDE will continue to chug
along.

Again, careful connection-handling might allow Access to chug along as well
as MSDE. Don't forget about the thread-governor in MSDE ...

Bob Barrows
 
B

Bob Barrows [MVP]

I know, but the first sentence muddied the waters ...

I agree that MSDE should be used. Again, while it is possible to manage your
connections so that Access will perform well under this user load, MSDE will
be more forgiving if you get sloppy ... with Access, one connection left
open too long will bring things to a screeching halt. You have to do things
exactly right to make Access work well in these copnditions, as well as
making the proper sacrifices (virgin calves only) ... ;-)

Bob
 
P

Paul Clement

¤ Since an ASP.NET/ADO.NET website is run on the server by a single "asp_net
¤ worker process", therefore doesn't that mean that even 50 simultaneous human
¤ users of the website would appear to the database backend as a single user.
¤ Therefore, wouldn't switching our Access (actually Jet 4.0 OLEDB) database
¤ backend on our ASP.NET/ADO.NET website to an MSDE backend be an advantageous
¤ change to make while NOT limiting the number of simultaneous web users in
¤ any way?
¤

As Bob mentioned in one of his posts you may want to keep in mind the that MSDE has a Workload
Governor that will throttle connections when there are more than eight concurrent operations. This
could perceptibly affect performance when using MSDE.


Paul
~~~~
Microsoft MVP (Visual Basic)
 
J

Juan T. Llibre

Like all versions of SQL Server 2000, SQL Server 2000 Personal Edition
and MSDE 2000 allow 32,767 connections to an instance of the database
engine.

There is no limit for the number of connections that can be executing operations
at the same time. The only effect of the workload governor is that it starts slowing
down the database engine when more than eight operations are actively running
at the same time.

Once it has been activated, the workload governor limits performance by stalling
a user connection for a few milliseconds each time the connection requests a logical
read or write on any of the pages in the data files of a database.
(The governor does not affect log files.)

The database engine waits before every data page reference as long as there
are more than eight active concurrent operations. When the number of active
operations is eight or lower, the database engine does not wait before scheduling
any reads or writes.

50 simultaneous users does *not* equal 50 simultaneous connections.

Users do *not* request database operations at all times they are connected.

Some time is spent reading the results, too, which downlevels
the number of connections being accessed simultaneously.

A few milliseconds delay for an MSDE read/write operation is negligible,
and *no* read/write operation will be denied.

In any case, performance will be better for an MSDE database
than for an Access database when users are approximately 50.
 
S

Scott Allen

Hi Dan:

In addition to the other good advice, I'll point out the moving to
MSDE now will put you in an easier position to move to SQL 2005
Express when it ships. There is no workload governor in 2005 and the
feature set compared to Access is even greater.
 
D

Dan V.

Thanks for this excellent informative post.

Juan T. Llibre said:
Like all versions of SQL Server 2000, SQL Server 2000 Personal Edition
and MSDE 2000 allow 32,767 connections to an instance of the database
engine.

There is no limit for the number of connections that can be executing operations
at the same time. The only effect of the workload governor is that it starts slowing
down the database engine when more than eight operations are actively running
at the same time.

Once it has been activated, the workload governor limits performance by stalling
a user connection for a few milliseconds each time the connection requests a logical
read or write on any of the pages in the data files of a database.
(The governor does not affect log files.)

The database engine waits before every data page reference as long as there
are more than eight active concurrent operations. When the number of active
operations is eight or lower, the database engine does not wait before scheduling
any reads or writes.

50 simultaneous users does *not* equal 50 simultaneous connections.

Users do *not* request database operations at all times they are connected.

Some time is spent reading the results, too, which downlevels
the number of connections being accessed simultaneously.

A few milliseconds delay for an MSDE read/write operation is negligible,
and *no* read/write operation will be denied.

In any case, performance will be better for an MSDE database
than for an Access database when users are approximately 50.
 
D

Dan V.

That's another clincher!
Now I'm curious as to the increased feature set...:) I'll find out
eventually.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,995
Messages
2,570,230
Members
46,819
Latest member
masterdaster

Latest Threads

Top