473,396 Members | 1,879 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

How to reduce the response time

Dear reader,

I have an Access application which works as back-end and front-end.

In case it's running on a local PC it works perfect.

If I install it on a server the response time is increasing drastically.

Is there any one who knows how to reduce the response time to an acceptable
level in case the application is running on a server.

Tanks for any suggestion.

Kind regards,

Simon
May 10 '07 #1
6 2814
"Simon" <Sv********@Versatel.nlwrote
... Access application ... back-end and front-end.
In case it's running on a local PC it works perfect.
If I install it on a server the response time is
increasing drastically.
Data that you were retrieving from your local hard drive is now coming
across the network... the back end is used just as if it were on a local
hard drive, but the transfer rate is much, much slower. In a file-server
database such as Jet or ACCDB, all the retrieval, manipulation, etc. code
executes on the user's machine.

There are several areas to address. Two main ones are are (1) optimize the
amount of data being retrieved across the network, e.g., indexing your data
on fields used to select records may mean that you only have to bring across
the index to determine the one/few records you actually need; limiting the
number of records to only those needed, esp. in combination with the above,
will reduce amount of data brought across (2) mimimize the overhead, e.g.,
keeping a connection open will eliminate the need to make and break a
network connection (Windows function, not Access function) each time you
access the back-end and (3) (related to 1.) be sure to put a copy of the
front-end on each user's machine so that not every database object you use
will have to be fetched across the network, e.g., queries, forms, reports,
macros, and modules should be in the front-end on the user's machine.
Is there any one who knows how to reduce
the response time to an acceptable level in
case the application is running on a server.
There are more, and detailed, suggestions for improving performance in the
multiuser environment (and on preventing database corruption, too) at MVP
Tony Toews' site http://www.granite.ab.ca/accsmstr.htm.

There is a wealth of additional information at http://www.accessmvp.com,
too.

Larry Linson
Microsoft Access MVP
May 10 '07 #2
"Simon" <Sv********@Versatel.nlwrote in
news:46*********************@news.tele2.nl:
Is there any one who knows how to reduce the response time to an
acceptable level in case the application is running on a server
There is one rule that applies in all applications:

Retrieve only as much data as the user needs for each operation.

If you do that, your app will be responsive in all environments in
which it runs.

--
David W. Fenton http://www.dfenton.com/
usenet at dfenton dot com http://www.dfenton.com/DFA/
May 10 '07 #3
ARC
That is a great rule, but I'm not sure how much it applies to the jet
database engine. Unfortunately, when you run a query on jet, it sends the
entire table (or all entire tables contained in a query) accross the wire to
the workstation, then runs the query there. So you still get the big
overhead of moving all data in the query tables accross the wire. Of course,
SQL sends the results only, and the query is ran on the server. That's one
thing I need to look into, to find out how hard it would be to re-do a large
app I have so that it runs in SQL.
"David W. Fenton" <XX*******@dfenton.com.invalidwrote in message
news:Xn**********************************@127.0.0. 1...
"Simon" <Sv********@Versatel.nlwrote in
news:46*********************@news.tele2.nl:
>Is there any one who knows how to reduce the response time to an
acceptable level in case the application is running on a server

There is one rule that applies in all applications:

Retrieve only as much data as the user needs for each operation.

If you do that, your app will be responsive in all environments in
which it runs.

--
David W. Fenton http://www.dfenton.com/
usenet at dfenton dot com http://www.dfenton.com/DFA/

May 11 '07 #4
"ARC" <an**@andyc.comwrote
. . . Unfortunately, when you run a query on
jet, it sends the entire table (or all entire tables
contained in a query) accross the wire to the
workstation, then runs the query there.
That is not necessarily true; Jet treats the MDB file in the shared folder
the same as it would a file on the local hard disk. It retrieves only what
it needs to accomplish the task. If you have properly indexed your tables,
and are using a WHERE clause that refers to the indexed field, it will
retrieve the index, locate the desired record(s), and only bring back
that(those) record(s).

Only if you haven't indexed, or aren't using the index as your criteria, or
your criteria is a calculated field will it bring back as much data as you
imply that it always will. That's why, as one of my wise consultant friends
is fond of saying, "You've gotta know what you're doing."

There is at least one book dealing with how the Jet DB engine worked (in the
particular version about which the book is written) that is still largely
accurate. That is, some details have changed, but not the basics of how Jet
works. It was published in 1996, by Microsoft Press, and is by Haught,
Ferguson, et al. If you are interested, you'd probably have to find a used
copy... I seriously doubt it is still in print, eleven years later.

In using Access since 1993, I think every Access client to server DB
application with which I've worked was been made client-server for
reliability, logging, and recoverability -- not because of performance, nor
number of users. Some are, I'd guess, but more are converted because of fear
of performance problems than because of encountering performance problems.
Corporate IT departments are often the "fearmongers."

Larry Linson
Microsoft Access MVP
May 11 '07 #5
"ARC" <an**@andyc.comwrote in
news:Ti***************@newssvr19.news.prodigy.net:
"David W. Fenton" <XX*******@dfenton.com.invalidwrote in message
news:Xn**********************************@127.0.0. 1...
>"Simon" <Sv********@Versatel.nlwrote in
news:46*********************@news.tele2.nl:
>>Is there any one who knows how to reduce the response time to an
acceptable level in case the application is running on a server

There is one rule that applies in all applications:

Retrieve only as much data as the user needs for each operation.

If you do that, your app will be responsive in all environments
in which it runs.

That is a great rule, but I'm not sure how much it applies to the
jet database engine.
It's probably more important with Jet than with a server back end.
Unfortunately, when you run a query on jet, it sends the
entire table (or all entire tables contained in a query) accross
the wire to the workstation, then runs the query there.
This is simply FALSE.

Jet is *much* smarter than that.

The only case in which it does what you say is when the designer of
the database is VERY VERY DUMB and has not provided either a primary
key or indexes on the fields being used to select the requested
records.

Jet first retrieves only as many index pages as needed to locate the
data pages that contain the requested records, and then based on
what's found in the index pages, requests the specific data pages
needed. While that's certainly not as efficient as a database
server, it's many, many times more efficient than a table scan.
So you still get the big
overhead of moving all data in the query tables accross the wire.
You are simply mistaken as to how Jet works.
Of course,
SQL sends the results only, and the query is ran on the server.
That's one thing I need to look into, to find out how hard it
would be to re-do a large app I have so that it runs in SQL.
The kinds of changes that will make it efficient with a server back
end will also vastly increase the app's efficient with a Jet back
end.

Which is what I said on the front end.

--
David W. Fenton http://www.dfenton.com/
usenet at dfenton dot com http://www.dfenton.com/DFA/
May 12 '07 #6
"Larry Linson" <bo*****@localhost.notwrote in
news:0I61i.43$145.2@trnddc02:
Corporate IT departments are often the "fearmongers."
And often for precisely the reason that our present correspondent
incorrectly badmouths Jet -- they simply haven't a clue how Jet
actually works.

--
David W. Fenton http://www.dfenton.com/
usenet at dfenton dot com http://www.dfenton.com/DFA/
May 12 '07 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

226
by: Stephen C. Waterbury | last post by:
This seems like it ought to work, according to the description of reduce(), but it doesn't. Is this a bug, or am I missing something? Python 2.3.2 (#1, Oct 20 2003, 01:04:35) on linux2 Type...
181
by: Tom Anderson | last post by:
Comrades, During our current discussion of the fate of functional constructs in python, someone brought up Guido's bull on the matter: http://www.artima.com/weblogs/viewpost.jsp?thread=98196 ...
6
by: Sean C. | last post by:
Helpful folks, I am having a hard time figuring out how to reduce my percentage of dirty page steal activity. Below are statistics for three fairly normal days, with the bufferpool hit ratios...
2
by: Hans Georg Krauthaeuser | last post by:
Hi All, I was playing with scipy.stats.itemfreq when I observed the following overflow: In :for i in : .....: l=*i .....: print i, stats.itemfreq(l), l.count(0) .....: 254 ] 254
3
by: Parrot | last post by:
Is there any routine I can call to reduce the size of an image file after uploading a file from a client. I am looking to reduce file sizes programmatically using C# in my web page after...
1
by: Oleg.Ogurok | last post by:
Hi all, We have an ASP.NET 2.0 intranet application on Win2003 server. The virtual directory is configured to use Windows Intergrated Authentication only. Using Fiddler...
9
by: Susan Bricker | last post by:
Greetings. My disclaimer first - I am a neophyte where VB and ACCESS are concerned, but I have been programming for quite a long time. That said ... I created a db at work using MS/ACCESS 2000...
0
by: nirav009 | last post by:
Hi, i would like to know, how we can reduce the ImageCopy Job run time. The job is usually taking almost 2hours for approximate 6M records. Ofcourse it is run through Utility, but is there any...
7
by: cnb | last post by:
This must be because of implementation right? Shouldn't reduce be faster since it iterates once over the list? doesnt sum first construct the list then sum it? ----------------------- reduce...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.