Solved

Upgraded VFP 6 app to VFP 9  - Version 9 is running really slow

Posted on 2011-02-24
15
1,599 Views
Last Modified: 2012-05-11
I am trying to upgrade a VFP 6 application to VFP 9.  I have the version 9 app running on a handful of testing systems in the production environment.  Users of the new version are complaining that it is running much slower then the old version.  It doesn't seem to matter what OS the new version is on, it still runs slow.  You can really see the slow down when trying to open forms that query larger amounts of data.  The app users share a VFP view and SQL backend database.

What can I do to speed up the new version?
0
Comment
Question by:woodwyn
  • 6
  • 4
  • 4
  • +1
15 Comments
 
LVL 41

Expert Comment

by:pcelba
ID: 34975340
There is no major difference in the data processing speed between VFP 6 and VFP 9.

If the application uses data from the backend database then the backend speed is probably the bottleneck. The view definition could also have some influence.

If the application uses local DBF data then its speed depends namely on correctly designed and created indexes. You have to identify what queries and commands are slow and create appropriate indexes which could optimize data access.

Are you testing both applications on the same data?
0
 

Author Comment

by:woodwyn
ID: 34975400
Yes.  I have both versions running on the same systems and can easily spot the difference in performance.  Both versions use the same ODBC connection to the SQL DB.  
0
 

Author Comment

by:woodwyn
ID: 34976567
Here's some food for thought... My development computer is located offsite from this customer and about 30 miles away.  Using an ODBC connection from my development system via the internet to the same SQL DB, the same VFP 9 forms open faster here then they do within their local domain.

There is something in the app or supporting files located onsite that is slowing the new version down.
0
 

Author Comment

by:woodwyn
ID: 34977016
This is not a VFP version issue.  I transferred the shared files from our newish Server 2008 64 bit system to a Server 2003 32 bit system and both VFP 9 and 6 run ridiculously fast again.  

I posted an issue awhile back about this same 2008 server where VFP print jobs would not pass through it as the domain print server.  I set the 2003 server as the print server and the VFP jobs go to whatever printer I am trying to send them too and without issue.

What is with this 64 bit, Windows Server 2008 system that doesn't like VFP?????

Frustrating!!!!
0
 
LVL 27

Assisted Solution

by:CaptainCyril
CaptainCyril earned 166 total points
ID: 34977110
I am not sure if this will help, but for sure they helped me in speeding up applications in my cases:

Backup and Delete foxuser.dbf files and try again
Disable all anti-virus and firewalls and try again
Reindex the databases and try again

I have VFP running on 64-bit Windows Vista Ultimate and it's superbly fast. I even connect to a database from Beirut, Lebanon to San Francisco and it's blazingly fast.
0
 
LVL 29

Expert Comment

by:Olaf Doschke
ID: 34977447
I don't suspect 2008 server to be the reason itself. As you say a correlated problem was with printers, it seems the 2008 server is not connected optimal network wise. I'd analyze the route of network packages. SMB2 protocol is a problem, but not if te backend is SQL Server. Looks more like a firewall or hub issue.

Bye, Olaf.
0
 
LVL 41

Expert Comment

by:pcelba
ID: 34978476
I am voting for the Antivirus and/or opprtunistic locking (which should be disabled for VFP).

More info about oplocks: http://support.microsoft.com/kb/296264
0
Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

 
LVL 29

Accepted Solution

by:
Olaf Doschke earned 167 total points
ID: 34979087
"Using an ODBC connection from my development system via the internet to the same SQL DB, the same VFP 9 forms open faster here then they do within their local domain."

If that is the case, it could be antivirus, yes, SMB2, I don't know if VPN would cut off that problem, could be. I'd also check via ROUTE PRINT from a client at their domain to the server, if there is no loopback or other network problem you remove, when you come from off site via VPN (I assume you com in over VPN).

Bye, Olaf.
0
 

Author Comment

by:woodwyn
ID: 34981489
Very grateful for all input - Thanks guys!!!

One test I ran last night was to copy my entire development environment into their domain, including the dbc.  The same data environment that works fast from my office directly to their SQL server ran slow within their domain.  I believe that rules out an indexing issue.  

There is no firewall, software or hardware, within the domain.

A corporate wide anti-virus system is in place on all systems, meaning the Server 2003 system VFP runs quickly on has the same anti-virus policy as the Server 2008 system.  

I am looking up the SMB2 topic - I assume you're not referring to Super Mario Brothers 2.
0
 
LVL 29

Expert Comment

by:Olaf Doschke
ID: 34982957
SMB2: samba protocoll 2, a low level layer of network communication. The issue really is OpLocks and Pavel has given a link to kb296264 above. The detail problem with SMB2 is, that you can't turn off Oplocks there, this was only possible in SMB (SMB1).

A Hotfix is here: http://support.microsoft.com/kb/2028965/en-us

This rather adresses stability, not performance, but often oplocks also cause an app to be fast for a single user, while it's reported unusual slow for multiple users, so that fix can help. Another workaround is revert to SMB and apply Pavels link to turn off oplocks.

Bye, Olaf.
0
 
LVL 29

Expert Comment

by:Olaf Doschke
ID: 34983011
Oh, and actually SMB is called server message block, not samba protocol. I was just thinking of Linux, as there a samba server can replace a windows server in some aspects, eg act as a domain controller and file server.

Bye, Olaf.
0
 

Author Comment

by:woodwyn
ID: 35070937
The issue has turned out to be a DNS problem with the ini files where local systems were told how to access the shared data.  

\\CorpDomainWAN\Branch\AllData\APPS\VFP\data became \\LocalServerName\AllData\APPS\VFP\data.  The CorpDomain UNC worked for the last 6 years and continues to work with the VFP app in version 6, but is really slow with the version 9 app.  

Any follow up thoughts?

You three were all helpful.  Any recommendations on point distribution for this issue?
0
 
LVL 41

Expert Comment

by:pcelba
ID: 35073086
Is the behavior same when you map the UNC as a drive letter?
0
 

Author Comment

by:woodwyn
ID: 35074609
The new version works just fine with the ini files set to point to a drive letter (O:\Apps\VFP\data).
0
 
LVL 41

Assisted Solution

by:pcelba
pcelba earned 167 total points
ID: 35074780
OK, then there is a problem with some UNC pathes in VFP 9 and nobody will help probably...
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Suggested Solutions

Microsoft Visual FoxPro (short VFP) is a programming language with it’s own IDE and database, ranking somewhat between Access and VB.NET + SQL Server (Express). Product Description: http://msdn.microsoft.com/en-us/vfoxpro/default.aspx (http://msd…
Is your company's data protection keeping pace with virtualization? Here are 7 dynamic ways to adapt to rapid breakthroughs in technology.
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.

707 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

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now