PDA

View Full Version : Slow FoxPro Application performance on W2k/Xp machines


Tomaz Praprotnik
April 1st 03, 08:38 AM
I have a FoxPro MSDOS application that used to run on a Novell 3.12 server.
The computer was a Pentium 233 with 128 MB of RAM.

I installed a new W2K server onto which I copied the FoxPro Application. The
new hardware is PIII 1G; 512MB RAM.

I tried running the application from a W98 client and the performance
dropped dramaticly. It took 1,5 seconds longer to perform the same operation
on the server as it did on the old one, despite the superior hardware.

I did a lot of testing, and found out that if I copy the entiry application
to a W98 based system and the try to access it over network it runs
normally. I did some more tests and found out that if I copy the application
to WinNT4 Server it runs normally.

I was and still am astounded, when I copied the whole application to a
Win2000 Professional computer and tried to run it locally. It ran with the
same performance lack as it did when I was running it over network on a
Windows 2000 server. Even if I tried running the application from a Win98
Client it still runs as slow as on the W2k/XP Professional.

I did some testing on the W2k Professional machine and linked the database
DBF files to a network share on a WinNT4 server and everything was working
fine.

Now I am using a W98 computer to host this application and it is running
fine even if I run it from Win2000/XP systems.

I cannot use the W98 computer as a server, since the customer wants to use
the newly purchased server to host the application. I cannot copy the
application to the new server until I fix this performance issues.

I have already tried the following;
- Win2000 SP3 + Q329170
- WinXP SP1 + Q329170
- running the application Locally on Win2000 / XP Professional which
produced no performance increase
- running the application Locally on WinNT4/W98 which produced normal
performance
- Running the application EXE Locally on a Win2000/XP and reading the
database files from Win98 produced normal performance
- I excluded the Network as an issue, since running the application locallly
produces the same performance.
- I figure that it must be something with Win2000/XP based sistems. But
what?
- My clients vary from 600Mhz to 2.2 GHz, but depending on the OS which
hosts the database files they all run with the same performance (w2k/xp
slow, w98/NT normal)

I need urgent help with this issue. The application is a FoxPro 2.5 DOS
application Standalone Exe. The database is a standard DBF DBaseIV.

Please help,... anyone
Regards
Tomaz

Star Fleet Admiral Q
April 2nd 03, 12:00 AM
It appears you have an old 16-bit DOS application - Win2k/XP both being
32-bit OS's emulate an 16-bit environment to run a 16-bit application - thus
you have more overhead, behind the scenes, where windows converts from
16-bit to 32-bit, runs the request through the CPU, then converts the 32-bit
back to 16-bit and gives the results back to the application.
If performance is an issue, you have 2 choices:
1) Upgrade to a newer 32-bit application, or
2) Go back to Win95, Win98, WinME or WinNT as the OS to run your
application.

"Tomaz Praprotnik" > wrote in message
...
> I have a FoxPro MSDOS application that used to run on a Novell 3.12
server.
> The computer was a Pentium 233 with 128 MB of RAM.
>
> I installed a new W2K server onto which I copied the FoxPro Application.
The
> new hardware is PIII 1G; 512MB RAM.
>
> I tried running the application from a W98 client and the performance
> dropped dramaticly. It took 1,5 seconds longer to perform the same
operation
> on the server as it did on the old one, despite the superior hardware.
>
> I did a lot of testing, and found out that if I copy the entiry
application
> to a W98 based system and the try to access it over network it runs
> normally. I did some more tests and found out that if I copy the
application
> to WinNT4 Server it runs normally.
>
> I was and still am astounded, when I copied the whole application to a
> Win2000 Professional computer and tried to run it locally. It ran with the
> same performance lack as it did when I was running it over network on a
> Windows 2000 server. Even if I tried running the application from a Win98
> Client it still runs as slow as on the W2k/XP Professional.
>
> I did some testing on the W2k Professional machine and linked the database
> DBF files to a network share on a WinNT4 server and everything was working
> fine.
>
> Now I am using a W98 computer to host this application and it is running
> fine even if I run it from Win2000/XP systems.
>
> I cannot use the W98 computer as a server, since the customer wants to use
> the newly purchased server to host the application. I cannot copy the
> application to the new server until I fix this performance issues.
>
> I have already tried the following;
> - Win2000 SP3 + Q329170
> - WinXP SP1 + Q329170
> - running the application Locally on Win2000 / XP Professional which
> produced no performance increase
> - running the application Locally on WinNT4/W98 which produced normal
> performance
> - Running the application EXE Locally on a Win2000/XP and reading the
> database files from Win98 produced normal performance
> - I excluded the Network as an issue, since running the application
locallly
> produces the same performance.
> - I figure that it must be something with Win2000/XP based sistems. But
> what?
> - My clients vary from 600Mhz to 2.2 GHz, but depending on the OS which
> hosts the database files they all run with the same performance (w2k/xp
> slow, w98/NT normal)
>
> I need urgent help with this issue. The application is a FoxPro 2.5 DOS
> application Standalone Exe. The database is a standard DBF DBaseIV.
>
> Please help,... anyone
> Regards
> Tomaz
>
>

Star Fleet Admiral Q
April 2nd 03, 12:00 AM
It appears you have an old 16-bit DOS application - Win2k/XP both being
32-bit OS's emulate an 16-bit environment to run a 16-bit application - thus
you have more overhead, behind the scenes, where windows converts from
16-bit to 32-bit, runs the request through the CPU, then converts the 32-bit
back to 16-bit and gives the results back to the application.
If performance is an issue, you have 2 choices:
1) Upgrade to a newer 32-bit application, or
2) Go back to Win95, Win98, WinME or WinNT as the OS to run your
application.

"Tomaz Praprotnik" > wrote in message
...
> I have a FoxPro MSDOS application that used to run on a Novell 3.12
server.
> The computer was a Pentium 233 with 128 MB of RAM.
>
> I installed a new W2K server onto which I copied the FoxPro Application.
The
> new hardware is PIII 1G; 512MB RAM.
>
> I tried running the application from a W98 client and the performance
> dropped dramaticly. It took 1,5 seconds longer to perform the same
operation
> on the server as it did on the old one, despite the superior hardware.
>
> I did a lot of testing, and found out that if I copy the entiry
application
> to a W98 based system and the try to access it over network it runs
> normally. I did some more tests and found out that if I copy the
application
> to WinNT4 Server it runs normally.
>
> I was and still am astounded, when I copied the whole application to a
> Win2000 Professional computer and tried to run it locally. It ran with the
> same performance lack as it did when I was running it over network on a
> Windows 2000 server. Even if I tried running the application from a Win98
> Client it still runs as slow as on the W2k/XP Professional.
>
> I did some testing on the W2k Professional machine and linked the database
> DBF files to a network share on a WinNT4 server and everything was working
> fine.
>
> Now I am using a W98 computer to host this application and it is running
> fine even if I run it from Win2000/XP systems.
>
> I cannot use the W98 computer as a server, since the customer wants to use
> the newly purchased server to host the application. I cannot copy the
> application to the new server until I fix this performance issues.
>
> I have already tried the following;
> - Win2000 SP3 + Q329170
> - WinXP SP1 + Q329170
> - running the application Locally on Win2000 / XP Professional which
> produced no performance increase
> - running the application Locally on WinNT4/W98 which produced normal
> performance
> - Running the application EXE Locally on a Win2000/XP and reading the
> database files from Win98 produced normal performance
> - I excluded the Network as an issue, since running the application
locallly
> produces the same performance.
> - I figure that it must be something with Win2000/XP based sistems. But
> what?
> - My clients vary from 600Mhz to 2.2 GHz, but depending on the OS which
> hosts the database files they all run with the same performance (w2k/xp
> slow, w98/NT normal)
>
> I need urgent help with this issue. The application is a FoxPro 2.5 DOS
> application Standalone Exe. The database is a standard DBF DBaseIV.
>
> Please help,... anyone
> Regards
> Tomaz
>
>

Tomaz Praprotnik
April 2nd 03, 01:39 PM
Seems like an awful lot of overhead to me. If this would be the case it
would mean that the more powerful computer I am running the application on,
the faster it should run, but it doesn't almost the opposite.

If the problem would be really the translation from 16 to 32 bit it should
occur even when I would run the application residing on a WINNT4 computer
from a W2K/XP Client. But this does not happen that combination runs fine.

The catastrophic performance only occurs when I run the application residing
on a W2K/XP based computer from any client(W98/NT/2k/XP). The performance is
also bad if the application is hosted on Win2k/XP computer and ran from a
w98 Client.... So the translation overhead probably doesn't play such a high
role....

Thank for your time anyway, I apprecciate it ...

Regards
Tomi


"Star Fleet Admiral Q" > wrote in
message ...
> It appears you have an old 16-bit DOS application - Win2k/XP both
being
> 32-bit OS's emulate an 16-bit environment to run a 16-bit application -
thus
> you have more overhead, behind the scenes, where windows converts from
> 16-bit to 32-bit, runs the request through the CPU, then converts the
32-bit
> back to 16-bit and gives the results back to the application.
> If performance is an issue, you have 2 choices:
> 1) Upgrade to a newer 32-bit application, or
> 2) Go back to Win95, Win98, WinME or WinNT as the OS to run your
> application.
>
> "Tomaz Praprotnik" > wrote in message
> ...
> > I have a FoxPro MSDOS application that used to run on a Novell 3.12
> server.
> > The computer was a Pentium 233 with 128 MB of RAM.
> >
> > I installed a new W2K server onto which I copied the FoxPro Application.
> The
> > new hardware is PIII 1G; 512MB RAM.
> >
> > I tried running the application from a W98 client and the performance
> > dropped dramaticly. It took 1,5 seconds longer to perform the same
> operation
> > on the server as it did on the old one, despite the superior hardware.
> >
> > I did a lot of testing, and found out that if I copy the entiry
> application
> > to a W98 based system and the try to access it over network it runs
> > normally. I did some more tests and found out that if I copy the
> application
> > to WinNT4 Server it runs normally.
> >
> > I was and still am astounded, when I copied the whole application to a
> > Win2000 Professional computer and tried to run it locally. It ran with
the
> > same performance lack as it did when I was running it over network on a
> > Windows 2000 server. Even if I tried running the application from a
Win98
> > Client it still runs as slow as on the W2k/XP Professional.
> >
> > I did some testing on the W2k Professional machine and linked the
database
> > DBF files to a network share on a WinNT4 server and everything was
working
> > fine.
> >
> > Now I am using a W98 computer to host this application and it is
running
> > fine even if I run it from Win2000/XP systems.
> >
> > I cannot use the W98 computer as a server, since the customer wants to
use
> > the newly purchased server to host the application. I cannot copy the
> > application to the new server until I fix this performance issues.
> >
> > I have already tried the following;
> > - Win2000 SP3 + Q329170
> > - WinXP SP1 + Q329170
> > - running the application Locally on Win2000 / XP Professional which
> > produced no performance increase
> > - running the application Locally on WinNT4/W98 which produced normal
> > performance
> > - Running the application EXE Locally on a Win2000/XP and reading the
> > database files from Win98 produced normal performance
> > - I excluded the Network as an issue, since running the application
> locallly
> > produces the same performance.
> > - I figure that it must be something with Win2000/XP based sistems. But
> > what?
> > - My clients vary from 600Mhz to 2.2 GHz, but depending on the OS which
> > hosts the database files they all run with the same performance (w2k/xp
> > slow, w98/NT normal)
> >
> > I need urgent help with this issue. The application is a FoxPro 2.5 DOS
> > application Standalone Exe. The database is a standard DBF DBaseIV.
> >
> > Please help,... anyone
> > Regards
> > Tomaz
> >
> >
>
>

Tomaz Praprotnik
April 2nd 03, 01:39 PM
Seems like an awful lot of overhead to me. If this would be the case it
would mean that the more powerful computer I am running the application on,
the faster it should run, but it doesn't almost the opposite.

If the problem would be really the translation from 16 to 32 bit it should
occur even when I would run the application residing on a WINNT4 computer
from a W2K/XP Client. But this does not happen that combination runs fine.

The catastrophic performance only occurs when I run the application residing
on a W2K/XP based computer from any client(W98/NT/2k/XP). The performance is
also bad if the application is hosted on Win2k/XP computer and ran from a
w98 Client.... So the translation overhead probably doesn't play such a high
role....

Thank for your time anyway, I apprecciate it ...

Regards
Tomi


"Star Fleet Admiral Q" > wrote in
message ...
> It appears you have an old 16-bit DOS application - Win2k/XP both
being
> 32-bit OS's emulate an 16-bit environment to run a 16-bit application -
thus
> you have more overhead, behind the scenes, where windows converts from
> 16-bit to 32-bit, runs the request through the CPU, then converts the
32-bit
> back to 16-bit and gives the results back to the application.
> If performance is an issue, you have 2 choices:
> 1) Upgrade to a newer 32-bit application, or
> 2) Go back to Win95, Win98, WinME or WinNT as the OS to run your
> application.
>
> "Tomaz Praprotnik" > wrote in message
> ...
> > I have a FoxPro MSDOS application that used to run on a Novell 3.12
> server.
> > The computer was a Pentium 233 with 128 MB of RAM.
> >
> > I installed a new W2K server onto which I copied the FoxPro Application.
> The
> > new hardware is PIII 1G; 512MB RAM.
> >
> > I tried running the application from a W98 client and the performance
> > dropped dramaticly. It took 1,5 seconds longer to perform the same
> operation
> > on the server as it did on the old one, despite the superior hardware.
> >
> > I did a lot of testing, and found out that if I copy the entiry
> application
> > to a W98 based system and the try to access it over network it runs
> > normally. I did some more tests and found out that if I copy the
> application
> > to WinNT4 Server it runs normally.
> >
> > I was and still am astounded, when I copied the whole application to a
> > Win2000 Professional computer and tried to run it locally. It ran with
the
> > same performance lack as it did when I was running it over network on a
> > Windows 2000 server. Even if I tried running the application from a
Win98
> > Client it still runs as slow as on the W2k/XP Professional.
> >
> > I did some testing on the W2k Professional machine and linked the
database
> > DBF files to a network share on a WinNT4 server and everything was
working
> > fine.
> >
> > Now I am using a W98 computer to host this application and it is
running
> > fine even if I run it from Win2000/XP systems.
> >
> > I cannot use the W98 computer as a server, since the customer wants to
use
> > the newly purchased server to host the application. I cannot copy the
> > application to the new server until I fix this performance issues.
> >
> > I have already tried the following;
> > - Win2000 SP3 + Q329170
> > - WinXP SP1 + Q329170
> > - running the application Locally on Win2000 / XP Professional which
> > produced no performance increase
> > - running the application Locally on WinNT4/W98 which produced normal
> > performance
> > - Running the application EXE Locally on a Win2000/XP and reading the
> > database files from Win98 produced normal performance
> > - I excluded the Network as an issue, since running the application
> locallly
> > produces the same performance.
> > - I figure that it must be something with Win2000/XP based sistems. But
> > what?
> > - My clients vary from 600Mhz to 2.2 GHz, but depending on the OS which
> > hosts the database files they all run with the same performance (w2k/xp
> > slow, w98/NT normal)
> >
> > I need urgent help with this issue. The application is a FoxPro 2.5 DOS
> > application Standalone Exe. The database is a standard DBF DBaseIV.
> >
> > Please help,... anyone
> > Regards
> > Tomaz
> >
> >
>
>

Cindy Winegarden
April 2nd 03, 03:38 PM
Hi Tomasz,

I'm sorry I can't answer your question but you might have some luck posting
over in the FoxPro newsgroups - microsoft.public.fox.*.

--
Cindy Winegarden MCSD, Microsoft Visual FoxPro MVP
http://cindywinegarden.adsl.duke.edu
http://msdn.microsoft.com/vfoxpro http://foxcentral.net

"Tomaz Praprotnik" > wrote in message
...
> Seems like an awful lot of overhead to me. If this would be the case it
> would mean that the more powerful computer I am running the application
> on,
> the faster it should run, but it doesn't almost the opposite.
>
> If the problem would be really the translation from 16 to 32 bit it should
> occur even when I would run the application residing on a WINNT4 computer
> from a W2K/XP Client. But this does not happen that combination runs fine.
>
> The catastrophic performance only occurs when I run the application
> residing
> on a W2K/XP based computer from any client(W98/NT/2k/XP). The performance
> is
> also bad if the application is hosted on Win2k/XP computer and ran from a
> w98 Client.... So the translation overhead probably doesn't play such a
> high
> role....

Cindy Winegarden
April 2nd 03, 03:38 PM
Hi Tomasz,

I'm sorry I can't answer your question but you might have some luck posting
over in the FoxPro newsgroups - microsoft.public.fox.*.

--
Cindy Winegarden MCSD, Microsoft Visual FoxPro MVP
http://cindywinegarden.adsl.duke.edu
http://msdn.microsoft.com/vfoxpro http://foxcentral.net

"Tomaz Praprotnik" > wrote in message
...
> Seems like an awful lot of overhead to me. If this would be the case it
> would mean that the more powerful computer I am running the application
> on,
> the faster it should run, but it doesn't almost the opposite.
>
> If the problem would be really the translation from 16 to 32 bit it should
> occur even when I would run the application residing on a WINNT4 computer
> from a W2K/XP Client. But this does not happen that combination runs fine.
>
> The catastrophic performance only occurs when I run the application
> residing
> on a W2K/XP based computer from any client(W98/NT/2k/XP). The performance
> is
> also bad if the application is hosted on Win2k/XP computer and ran from a
> w98 Client.... So the translation overhead probably doesn't play such a
> high
> role....

Google