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 bkrike on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

VFP 6.0 SP5 takes almost 100% cpu resources on a terminalserver 2003

Status
Not open for further replies.

RedLion

Programmer
Sep 13, 2000
342
NL
Hello,

I’ve a really data intensive VFP app written a few years ago in VFP 6.0 SP5 which needs to be moved from local clients to a terminal server. Only during tests they noticed that the app was taking almost all cpu recources when generating a really complex report for approximately 8 minutes. And now the system engineers are coming to me saying the app should be configured for not taking all recourses. As far as I know that’s really nonsense, because terminal server should take that responsibility and not the application!?! Yes they said Ms Word never takes 100% recourses, and so on and so on…

Generating the reports in the night is no solution, and optimalising the application could make some difference, but it means that the app will even use 100% cpu resources for lets say 1 minute (I don’t think it can be optimalised that much, but just as example) what they don’t find acceptable. Moving to SqlServer (storedprocs) instead of native VFP is also no solution, because it means rewriting almost 50% of the application. And caching some parts of the result isn’t possible also because of so many rules that should be checked and change so often. It should be real-time generated.

Any inside and advice is welcome,

Thanks,

Charl
 
While you application is running on TS, where are your data files? What kind of network connection do you have between them?

Rick
 
You could try setting the priority of your process to a lower setting and/or adding a bunch of doevents statements in your code between lines. Barring those ideas, I'm not sure what to tell you.

boyd.gif

 
Hi Rick, the data is stored on an HP EVO it's a SAN or NAS so that's no problem. But there should be checked so many things, it's not just selecting some data. And it takes a lot of the cpu and the memory (fast writes in and out).

Thanks,

Charl
 
Thanks for your response craigsboyd, adding doevents will probably make some difference (although isn't doevents not only to wait for the windows events to happen on your own application...) but adding a lot of doevents in my business code is something I prefer to forget...

Is it possible to set the priority of an application before it actually runs / is started?

Thanks,

Charl
 
I've been on a site with a similar problem. Their queries were extracting actuarial details from 3 million holders of life insurance policies and the server was just bogging down whenever they started a heavy job.

They ducked it by installing a new server. Anyone wanting to run any heavy analysis logs into Terminal Server on this machine and has the whole server to themselves for however long it takes.

The cost isn't as bad as it seems. The "server" doesn't need any of the expensive features of a true multi-user corporate server because it's only ever used by one person at a time. It's just a £1000 PC with a lot of memory and a fast link to get data from the real server.

Geoff Franklin
 
Thanks for your response Geoff,

We have decided to let the application run within a virtual server that way we can set the max. use of the processor.


Charl
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top