I'm having some concerns about the number of concurrent users we can
safely
have in an MS-Access application that is client-server based.
Actually, ms-access when used as a file share is not considered a client
server application, but is really just what we call a "file share". This
means that processing occurs on each pc..where as in client->server, data
processing occurs on the server BEFORE the data is sent to each workstation.
(this is not a big deal..but I do want you to get the terminology right..as
there is a VERY big difference between a client server application, and a
file share application like ms-access. It also means a very different way in
how data is sent, and updated. Also, note that ms-access CAN be (and often
is) a client in a client to server database setup. That means the front end
part is ms-access, and the back end part is sql-server, Oracle, or your
favatore database server engine. So, to be fair..it is possible that you are
in fact using a client to server setup..but not enough information was given
by you to determine this. (it certainly seems we are talking about a file
share here).
I've heard
numbers ranging from 5 to 255. The database stored on the server is not
large but there is a fair amount of activity on it. We've changed
NIC/Switch
duplex settings, we've increased the MAXLOCKSPERFILE on both w/s and
server,
but are still seeing some slow response with app. 35 concurrent users.
Any Advice???
With a proper setup, you can easily run 20 users.
You don't mention after how many users the application slows down. Is the
application just fine with 2, or 3 users..and then at 10 users it is slow?
(you need to give more information in this regards). I mean, if the
application is slow with just 2 users...then lets fix that before we start
worrying about 35 users.
So, #1 question is after how many users does the application start to slow
down? Can you run 10 fine, but 20 is to slow?
#2, what is the speed of your network...is it a 10 base, 100 base, or 1gig
base?
#3, do you have a correct multi-user setup? That means that you are running
a split application, and EACH WORKSTATION gets a copy of the application
part, and the data part is placed on the server. Further, each workstation
should get a mde. This means you CAN NOT allow multiple users into a same
front end at the same time. Each user gets their OWN COPY of the front end,
and this is placed on EACH workstation.
Further, if you do have a split database..have you tried a persistent
connection..this can do INCREDIBLE things for speeding up response time.
You also don't mention what version of ms-access. However, there is a great
performance faq of things to try (assuming you got the above points already
correct).
http://www.granite.ab.ca/access/performancefaq.htm