Solved

Multiuser network response time is very slow

Posted on 2008-10-28
3
1,333 Views
Last Modified: 2012-05-05
My application accesses .dbf's by a path to a mapped drive on the server. Each user has the map on their desktop machine.

As soon as the second user opens the applications the repsonse time for all users goes from 1-2 seconds to 40 seconds or more.

The application is trying to fill in a datagrid from the records comming back from the server.

I am using .dbf's with properly indexed files to do the access. ie:
use table.dbf
set index to aindex.idx
Then I use a do loop to skip trough the table untill the criteria for the selection is no longer met.

I do not lock or need to lock any records as this is read only.

Are there settings in mutilock... cursorproperties... anything that can help with this?

Thanks, Steve R.
0
Comment
Question by:SRabidou
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 29

Expert Comment

by:Olaf Doschke
ID: 22823039
The first bad thing is you use IDX indexes, CDX indexes are shorter (compact) and you can use many tags in one CDX file which is automatically used. looping through a dbf, even when it's in order by an index is slow. The real proper use of indexes for performance is using them for seeking or rushmore optimazation of where clauses, you use them for ordering purposes only. This makes a table scan even slower than scanning in physical record order. Use SQL Select to retrieve the data fulfilling the "criteria for the selection". Use a View if that data should be updatable.

Bye, Olaf.
0
 
LVL 33

Expert Comment

by:CarlWarner
ID: 22823397
There are lots of ways to tweak for performance.  The use of CDX index file types is preferred and used by all Fox developers I know of.

Also, you may want to consider trying to open the table differently since you are saying it is for read only access anyway.  Try using the NOUPDATE clause when you open that table.

Instead of :
use table.dbf
try:
use table.dbf  NOUPDATE

USE Command
http://msdn.microsoft.com/en-us/library/5e8201te(VS.80).aspx
0
 
LVL 33

Accepted Solution

by:
CarlWarner earned 500 total points
ID: 22826690
How To Optimize FoxPro Performance on a Network
http://support.microsoft.com/kb/102786/en-us
0

Featured Post

Guide to Performance: Optimization & Monitoring

Nowadays, monitoring is a mixture of tools, systems, and codes—making it a very complex process. And with this complexity, comes variables for failure. Get DZone’s new Guide to Performance to learn how to proactively find these variables and solve them before a disruption occurs.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

#Citrix #Citrix Netscaler #HTTP Compression #Load Balance
Data center, now-a-days, is referred as the home of all the advanced technologies. In-fact, most of the businesses are now establishing their entire organizational structure around the IT capabilities.
Viewers will learn how to connect to a wireless network using the network security key. They will also learn how to access the IP address and DNS server for connections that must be done manually. After setting up a router, find the network security…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

730 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question