Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

visual foxpro exe starts slowly on windows nt servers

Status
Not open for further replies.

kburrill

Programmer
Feb 20, 2002
14
US
We are running a visual foxpro application (exe) from multiple computers on our network, accessing a shared database on the server.

When the database is on a windows nt 4.0 server (SP 6), the program (database & tables) opens quickly for the first user that starts the foxpro program. For all other people opening the program after the first person, it takes 5 to 10 times longer. The same results occur from a windows nt 4.0 server with SP 1.

When the database is on a windows 98 computer (acting as a server), the program (database & tables) opens quickly for the first user that starts the foxpro program, and just as quickly for all other people opening the program after the first person.

The windows nt computer (SP 6) is a faster computer (with more memory) than the windows 98 computer. It doesn’t seem to matter who the first person is to start the program, which computers are already using the program, or even which computers are turned on (on the network).

If only one computer is on the network (running windows 95) with the windows nt server, and two instances of the program are started on the windows 95 computer, the first opens quickly and the second does not. Both instances of the program start quickly on the windows 95 computer when the database is on the windows 98 computer.

Could this be a problem with windows nt security? Or the ODBC drivers?

Thanks in advance.
 
Wow...that's weird.

Are you using a database server on the NT server? That might be the problem.

My network is set up with about a dozen Win98SE machines and one Windows NT 4.0 SP6 server. The server is only used as a file server, though, with the Win98 machines mapping a drive letter and accessing the files that way. I have no speed problems no matter how many people are on at once.

Ian
 
I have to add that you should check you performance settings in your control panel and set it to all processes receive equal cpu time or background. I can't recall the exact wording of the setting at this time.
 
Maybe this can help you, try measruing the network down and upload from server to client.
We discovered and we could have known this beforehand, that the DBC recognizes if there is only one user or more than opne connected.
When we use a table just for lookup purposes, this worked very quickly when one user is connected, but when more than one user is connected, the table is refreshed every time we did a locate through the table. So the whole table was downloaded from server to client.
THe DBC must see that moe users are connected and therefore the table is refreshed for possible updates in the table, although there weren't any in our case.
This caused for us a severe performance problem. Using views and local cursors reduced the download by a factor 100 giving a much better performance.

HTH,

Weedz (Edward W.F. Veld)
My private project:Download the CrownBase source code !!
 
Thanks for the ideas.

I've tried several more steps, without any improvements yet...

For a database server, do you mean is SQL Server installed on the server? The exe's and support files are on the client computers and the foxpro database is on the server. The windows nt server is set up as the primary domain controller. We also have a quickbooks database on the server, and it doesn't seem to have the same problems as foxpro (more than one person can open it at the same time, with no noticeable difference in speed).

I tried mapping a network drive to the database on the server. The second instance of the program is still much slower.

I've tried 3 different settings for cpu performance (none, maximum, and an intermediate value). None of the three seemed any better than the others.

I also tried 4 different settings for memory usage. Under network properties - services - server properties; I've tried the "minimize memory used", "balance", "maximize throughput for file sharing" (this was the original setting), and "maximize throughput for network applications" options. None of them made any difference.

The only decrease in speed seems to be in opening the database and tables; once they're open the speed of the program seems to be the same from one instance to the other.
 
In your message, you asked if the performance issue was possibly related to the ODBC drivers?

Maybe I do not understand your system configuration but why are you using ODBC drivers to connect to your shared foxpro DB? ODBC drivers should only be set up when connecting to a database other than Foxpro.

 
I know this one! Had it myself.

Norton 2001 Anti-Virus is running on the computer and Enable SmartScan Technology is selected.

Ingvar.

 
Thanks for the help.

As an update:

I've tried disabling and then removing Norton Anti-Virus, but the second instance still opens much slower.

As for the ODBC drivers, I just noticed that there were different versions on the windows nt computer and the windows 98 computer and didn't know if this might have been contributing to the difference. I didn't realize they weren't being used in this case.

We've been testing an older windows nt computer. If we make the share with the database "read" only, the 2nd instance opens just as quick as the first. When we change the share to "change" or "full control", the 2nd instance opens much slower. Unfortunately, we can't have the share be read only.

I may try to post a new question on the windows nt forum, since I don't understand if this is typical in how windows nt handles sharing or security.

Thanks again.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top