Solved

Multiuser network response time is very slow

Posted on 2008-10-28
3
1,335 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

Secure Your WordPress Site: 5 Essential Approaches

WordPress is the web's most popular CMS, but its dominance also makes it a target for attackers. Our eBook will show you how to:

Prevent costly exploits of core and plugin vulnerabilities
Repel automated attacks
Lock down your dashboard, secure your code, and protect your users

Question has a verified solution.

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

Join Greg Farro and Ethan Banks from Packet Pushers (http://packetpushers.net/podcast/podcasts/pq-show-93-smart-network-monitoring-paessler-sponsored/) and Greg Ross from Paessler (https://www.paessler.com/prtg) for a discussion about smart network …
In this article, I am going to show you how to simulate a multi-site Lab environment on a single Hyper-V host. I use this method successfully in my own lab to simulate three fully routed global AD Sites on a Windows 10 Hyper-V host.
Internet Business Fax to Email Made Easy - With  eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, f…
Here's a very brief overview of the methods PRTG Network Monitor (https://www.paessler.com/prtg) offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…

734 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