Discussion:
bde on VPN perfomance
(too old to reply)
Santy Concepción
2005-04-05 08:59:41 UTC
Permalink
Hi!

I need my application to share a Paradox database between two (or more)
computers over Internet.
There are about 15 tables. 100 records per table approx.

We have created a VPN connection to acces the tables, BUT the
application runs *VERY SLOWLY*
The connection is stablished correctly, there are no error messages,
etc... but it is very slow. It takes about 5 minutes to open the
application, etc... Tables are opened, but very slowly.

Is there something I must know to improove BDE on vpn performance?
Another alternative?

Thanks!
jacques
2005-04-05 10:39:28 UTC
Permalink
I am very interested by your experience.
In a few days I will test the same configuration.
I supose you are working with TTable, Datasource, Dbgrid
Are all dbgrids populated on the same tabbed form ?
With 100 rec/table, no need to play with set range.
Are you using massive master/detail shema (2 to 4 hierarchical
level?)
Do you think there are many locked rec at the same time for all users.
When you are alone on the remote app, do you see same slowness ?
What is your up speed (typicaly 128 to 512 KBps) on both side ?
Have you seen (task manager, network tab) the graph of your Wan/vpn board/connection. Is the network saturated.

Jacques
Santy Concepción
2005-04-05 12:00:07 UTC
Permalink
hi, Jacques!

ok. first of all, forgive my poor English. I'm from Spain.

We are only testing the application. We use TTables, Datasources and
DBGrids. No master/detail relationships. Only simple tables with about
200, 100 or 50 records.
There is only one form, but not every table has a DBGrid. There are only
5 DBGrids. The other tables have to be opened, but no data is shown.

Bigger tables are indexed, but not all tables.
I don't think there are locket records. The application is slow even
when opening the tables. Before editing or adding any data. It takes
about 5 minutes on opening all the tables and showing the form.

Alone in server-side, the app is slowm but not as slow as remote comupter.
Server has a DSL 1024 Kbps
Client has a DSL 512 Kbps

Network is only used to test the application. No other apps are runing
at test time.
Will continue trying!

Thanks!
Post by jacques
I am very interested by your experience.
In a few days I will test the same configuration.
I supose you are working with TTable, Datasource, Dbgrid
Are all dbgrids populated on the same tabbed form ?
With 100 rec/table, no need to play with set range.
Are you using massive master/detail shema (2 to 4 hierarchical
level?)
Do you think there are many locked rec at the same time for all users.
When you are alone on the remote app, do you see same slowness ?
What is your up speed (typicaly 128 to 512 KBps) on both side ?
Have you seen (task manager, network tab) the graph of your Wan/vpn board/connection. Is the network saturated.
Jacques
jacques
2005-04-05 14:57:27 UTC
Permalink
In the next few day I must do a choice.
I have to link two locations over the internet. The remote app
(same as local app) must share the customer table et fidelity
card with the central location, all other tables are local
tables for both locations.
256 Kbps up speed for the server, 256 Kbps for the client (ws).

I've tried Advantage Database Server in C/S mode and this work
fine. 1 sec to fill the customer grid (to choice the good
customer). 3 sec by old classic pstn line (telephony). Of course
I don't need VPN to do this.
I've made no change in my code, just supply a connection
component with the IP adress of the remote ADS server and a
TAdsTable.

BUT ... to avoid the cost of 15 users in ADS C/S (about 2000 good USD) I wondered whether if I could do this with just a VPN and BDE.

My customer already own a VPN with his SBS 2003.

I spend three years to write A very big app with Oracle 8i.
See the native component of www.allroundautomations.nl.
Not more expensive then ADS. But ADS promise to resolve the
problem of maintaining two set of code, one for file server, one
for C/S sheme.
In real C/S sheme, to be productive you need to reexamine all
your analyse and approach, and GUI and user related psychology.
It's a new app.

Why to need a BDE like ? For ex. to sell very cheap app
shareware like contact manager, wine cellar, HTTP private
domestic apps for sharing photos, news, .. ... or apps for
little company who want just a 2 to 3 ws to do invoicing, orders
etc...

Is there a real alternative to BDE ? ADS local server is not an
alternative. Advantage guys do not just give ADS local server
for free, they just hope to sell their C/S. I agree and
understand.

MySQL ? No native component.
What to do for the next years. See also the just posted message
of Lysander on network slowdown. To open the debate. it is the voice of wisdom. But I am a resistant and I like to understand why we must accept a poor file server (SMB).

I will try the VPN BDE solution, just to see, and perhaps to
close the door and be honest towards my customers.
(perhaps tomorrow) and I give you my first impressions.

Jacques Marchal belgium

PS To avoid code perturbation, you can downsize your code to just working with form and grids. And to test.
C P
2005-04-05 17:13:25 UTC
Permalink
The BDE (or ADO) isn't necessarily a problem for a VPN. The problem is your
database platform. BDE/ADO or not, if you want to run something over a VPN,
I think you really need some sort of C/S database. So, you can use the
BDE/ADO, but not dBase, Paradox, Access, or FoxPro.
Bill Todd
2005-04-05 21:05:28 UTC
Permalink
File server databases are not designed to run well over a low speed
connedtion. Your VPN is limited by the 512k connection. That is 1/20 the
speed of 10 mb/sec Ethernet. There is nothing you can do about this.

With a database server you can get good performance over a VPN if the
applicaiton uses proper client/server design. Another way to improve
performance is with a multi-tier application. Some databases will run well
across the Internet without a VPN. Advantage is an example. It performs
well because it has built-in compression over the wire and requires
mimimal communication between the client and server.
--
Bill Todd (TeamB)
TeamB cannot answer questions received via email
C P
2005-04-05 22:27:50 UTC
Permalink
If you can't rewrite your app to use Client/Server, you should consider
using Terminal Services or Citrix over the VPN. Even if you could re-write
your app to use C/S, depending on the number of installations you have, it
might even be cheaper to just use Terminal Services.
Gerard
2005-04-05 22:06:40 UTC
Permalink
Your BDE considers the network just like a hard disk bus... and making I/Os
to the disk on the server.

You need Client Server method and execute queries on the server.

Gerard

Loading...