"pemigh" wrote in message
news:9407e365-c04e-46d3...@googlegroups.com...
>Speed is good with one user, and good when one user has opened multiple
>instances of the database. The slowdown happens after a different user
>opens the database and taps the table with a query.
Is this query a select query, or some kind of update query?
>Persistent connection is only an issue for split databases, right? It is a
>non-issue in my test database since it is a simple, single-file database.
>(And I do have that persistent connection in my genuine application.)
The above is safe to say. However due to network security settings, there is
still the possibility of additional delays being introduced due to the OS
messing with file rights.
And it is still possible that the second user is opening the database with
different settings. I mean for sure they not using the same network settings
since it is a different computer. Even a identical computer could have a
different network card driver and thus you see different performance arise
even from two identical hardware boxes but at different driver or even
office service pack levels.
>Row-level locking is off. For the record, I spotted the "open databases by
>using record-level locking" setting (ver 2007), and determined that
>switching this setting made no difference.
It certainly should not make a difference for a select query.
However for update types of queries (not append) this row setting can make
rather significant differences in both performance and also back end file
growth (bloat). So depending on what you are doing, then yes this setting
can become VERY significant.
>I've been through several lists including
>
http://www.granite.ab.ca/access/performancefaq.htm and haven't found
>anything that applies. I am very open to the possibility that I missed
> >something, but it seems that the very specific nature of this problem
>would have been addressed explicitly.
>
>Grateful for any insights,
>
>pemigh
As long as the basic things have been covered, then I think you down to
things like the particular computer, the particular network and perhaps even
something like a different work station running on a different service pack
level of the OS or even of ACE or Office.
And it is simply possible that after a certain size, then a slowdown will
occur with the given configuration.
I would still check + ensure that row locking and basic settings (and
service packs) are the same on all machines. Since one user opening that
file with row locking will cause all editing records in a frame to EXPANDED
to the full size of the frame. This is the significant reason why row lock
setting can cause performance issues. So you can have two users open a
database with different settings and in this case EACH user will be
operating in a different mode! While both will be forced to use the file in
multi-user mode, they can both open with different row locking settings and
this does work and is allowed.
As noted, I not seen any signification difference in performance when one or
two users have the database open for select queues.
However, if the slow down is due to a updating records? Then this would
certainly change things here.
Remember that the windows file system has two modes and the SWITCHING to
multi-user mode and the op-locks setting has to be changed on that file
(this is done at the OS level). In other words the file mode IS and DOES
CHANGE for multi-user file manipulation as compared to single user mode.
When in single user mode then additional speed enhancements such as disk
caching etc. can be used. With multiple users then "less tricks" such as
disk caching cannot fully be used since OTHER users may now need to see the
file updates. So the file system DOES work different when in multi-user mode
and there are known slow downs.
For the most part this "switching" to a slower mode should suggest thus some
effects. However, those effects should be the same for all users.
In other words, all users are hitting the same server and shared folder (and
the folder not "local" on one machine that also running Access an that is
the one that performs well - as that would be a useless test).
So feel free to follow up on the above questions:
All users same hard ware/same service pack levels
All users are hitting the same folder on some server - that server folder is
shared the same to all users with the SAME permissions.
>but a second user hitting the table with a query would immediately cause
>the 6x or so speed penalty for the original user.
I assume all users thus slow down at this point?
Like I say, I not really seen this type of slow down documented much
anywhere, but you certainly could try a few more tests to ensure that all
users have the same permissions and are all hitting that shared folder the
same way.
It even possible that how your computer + laptop is given temporality
permissions to work with the client and use of that "shared folder" is the
reason for your additional performance.
So testing should be limited to a consistent setup to ensure that some
computers don't have some "advantage" such as the folder being shared + run
from the same computer as compared to others having to hit the file though a
mapped drive or some kind of different folder sharing or even path.