Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
SQL performance
Message
From
13/10/2006 01:15:19
 
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Title:
Environment versions
Visual FoxPro:
VFP 9 SP1
OS:
Windows XP SP2
Network:
Windows XP
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01160628
Message ID:
01161649
Views:
13
>Thomas,
>
>I'm uploading the files and will send you an e-mail separately on how to get them.
>If anyone else is masochistic enough to want to see what the problem is, let me know and I'll e-mail you privately as well.

Probably on Sunday I'll have a few minutes to look/measure on different machines


>I haven't cleared enough room on my notebook yet to defrag it, but again, since I'm getting similar results on disparate hardware configurations (Windows 2003 server, Novell server, local notebook hard disk), not sure that's going to be the issue.
>Thomas on your LAN comments, I thought most Web Connection installs had the web app on a separate web server and the data that's being accessed on another. I haven't posted that on Westwind yet, but will later today.
>If my understanding is correct, then the VFP web connect app is running on the web server and I assume that's where all the caching is taking place. And I'm not seeing any benefit of the cached data on the web server in a production environment (unlike on my notebook where the second time around the queries are processed in an very acceptable 4 to 5 seconds round trip). They're ALWAYS slow in production. I do appreciate the issue of dragging the data across the LAN, but then that doesn't explain the poor performance on my notebook.
>
>Unfortunately, this is NOT an area that I have any expertise in (understanding how the caching works, etc.), so I could be completely wrong and willing to listen to any suggestions.

From the WW site: http://www.west-wind.com/presentations/largeweb/ esp. "Data Optimization", "To SQL or Not To SQL", "Scalability"

Guesstimate of your WebHW
Webserver/VFP-West-Wind|
                       |-------dbfdata-Fileserver
or
Webserver|
         |---VFP-West-Wind|
                          |-------dbfdata-Fileserver
My idea:
Webserver/VFP-West-Wind/dbfdata
or
Webserver|
         |---VFP-West-Wind/dbfdata
and use multiple core/multiple socket machines for scalability of the VFP-West-Wind/dbfdata box as long as possible.

after that go
Webserver|
         |---VFP-West-Wind-------|
         |---VFP-West-Wind------||
         |---VFP-West-Wind-----|||
         |---VFP-West-Wind---- |||
                               ---true Server(SqlServer,PostgreSQL,MySQL)
and if that is not enough,
Webserver|
         |---VFP-West-Wind-------|
         |---VFP-West-Wind------||
         |---VFP-West-Wind-----|||
         |---VFP-West-Wind----||||
                              |---true Server(SqlServer,PostgreSQL,MySQL)
         |---VFP-West-Wind----||||
         |---VFP-West-Wind-----|||
         |---VFP-West-Wind------||
         |---VFP-West-Wind-------|
Webserver|
On the danger of oversimplifying, the performance differences across machines/data-code distributions/LAN-configs can very often be viewed as bottleneck problems.

Testing on your Laptop/Cold has the bottleneck in physical reading from HD into cache
Testing on your Laptop/Cached removes the bottleneck, always "reading" out of the disk cache.
When reading across a LAN except for very unsual setings (file(s) locked exclusive) no caching on the WS/WebServer can take place.

The fact that you are getting similar timings stems from the speed the data can be moved through the bottleneck, and a 2.5 HD physically reading fragmented data is probably the same speed as a 100MBit Network. You currently always have the bottleneck of the LAN in your web app. A better/more realistic testing scenario for the performance of your Web app under the current layout would be to access the data on your dbfdata-Fileserver from your laptop WITHOUT rebooting necessary. To verify the bottleneck hypothesis (assuming you currently run a 100MBit Lan), just insert one old 10-MBit-Hub between like
Webserver-VFP-West-Wind|
                       |-10-MBit-Hub--|-dbfdata-Fileserver
Laptop-----------------|
and your performance should be worse as the bottleneck tightened. If there is really, REALLY pressing business need for your current layout separating dbf-data and ww-vfp code on different machines, make the connection between them 1GBit at least. One way of Scaling to more than 1 box of ww-componentes could be then
         |---VFP-West-Wind|
         |                |-1GB-SubNet_1-|
Webserver|                               |-------dbfdata-Fileserver with many 1GB-LAN-Cards
         |                |-1GB-SubNet_2-|
         |---VFP-West-Wind|
but housing dbf and ww-components on the same box is to be prefered - see also the paragraph in Rick's article starting with "You can also offload application logic to other machines using DCOM". You would not make such an effort if it was not worth it. Having tables and code in the same box is one of the greatest benefits of web architecture with vfp from the vfp point of view.

regards

thomas
Previous
Reply
Map
View

Click here to load this message in the networking platform