Subject | RE: [firebird-support] Re: Problem with Firebird over Internet |
---|---|
Author | Nigel Weeks |
Post date | 2006-08-09T23:08:17Z |
Here's the issue.
Firebird's database traffic is very verbose - lots of tiny packets backwards
and forwards. Over localhost (on the same box) connections, this is fine,
and poses no issue.
Over Ethernet, it's slightly worse, as network congestion comes into play.
Over internet connections, it's shocking. Even using tunnelling with
compression, it's still no good for interactive applications. This has
absolutely nothing to do with Bandwidth, it's all do do with the time it
takes to shovel a packet to and from the DB server.
I would consider heavily the following solution.
By the sounds of it, you've got a windows application that talks directly to
the DB. Here's the fix:
Get yourself a Windows Terminal Server, or a Citrix Server(dollars here).
This way, you can run your application, unmodified, on the same LAN as your
DB server.
Remote clients then simply run the Terminal Server Client, pumping screens
back and forth over then internet links, which is designed for high latency,
low bandwidth connections.
You shouldn't need to change your application, other than ensuring your
connection string from your app to the DB server has the hostname in it -
you can't do local filesystem connections on a Terminal Server.
To clafiry, here's some ascii art:
Current Scenario (I assume)
[DB Server] <- DB Traffic -> [Firewall/Tunneling] <- DB Traffic -> {
Global Internet } <- DB Traffic -> [Client]
Recommended Scenario
[DB Server] <- DB Traffic -> [Terminal Server] <- Slim RDP Traffic -> {
Global Internet } <- Slim RDP Traffic -> [Client]
This method works a treat, and the only expense is a copy of Windows 2000
Server, and enough CALS / Terminal Server licenses to cover simultaneous
client connections.
Alternatively, do it all with Unix for free...but that'll involve a re-write
of your app...
Nige.
Firebird's database traffic is very verbose - lots of tiny packets backwards
and forwards. Over localhost (on the same box) connections, this is fine,
and poses no issue.
Over Ethernet, it's slightly worse, as network congestion comes into play.
Over internet connections, it's shocking. Even using tunnelling with
compression, it's still no good for interactive applications. This has
absolutely nothing to do with Bandwidth, it's all do do with the time it
takes to shovel a packet to and from the DB server.
I would consider heavily the following solution.
By the sounds of it, you've got a windows application that talks directly to
the DB. Here's the fix:
Get yourself a Windows Terminal Server, or a Citrix Server(dollars here).
This way, you can run your application, unmodified, on the same LAN as your
DB server.
Remote clients then simply run the Terminal Server Client, pumping screens
back and forth over then internet links, which is designed for high latency,
low bandwidth connections.
You shouldn't need to change your application, other than ensuring your
connection string from your app to the DB server has the hostname in it -
you can't do local filesystem connections on a Terminal Server.
To clafiry, here's some ascii art:
Current Scenario (I assume)
[DB Server] <- DB Traffic -> [Firewall/Tunneling] <- DB Traffic -> {
Global Internet } <- DB Traffic -> [Client]
Recommended Scenario
[DB Server] <- DB Traffic -> [Terminal Server] <- Slim RDP Traffic -> {
Global Internet } <- Slim RDP Traffic -> [Client]
This method works a treat, and the only expense is a copy of Windows 2000
Server, and enough CALS / Terminal Server licenses to cover simultaneous
client connections.
Alternatively, do it all with Unix for free...but that'll involve a re-write
of your app...
Nige.
> -----Original Message-----
> From: firebird-support@yahoogroups.com
> [mailto:firebird-support@yahoogroups.com]On Behalf Of matf_de
> Sent: Wednesday, 9 August 2006 5:21 PM
> To: firebird-support@yahoogroups.com
> Subject: [firebird-support] Re: Problem with Firebird over Internet
>
>
> Well, the application has to connect to Fb. No way out !
> The DNS lookup can't bei the Problem, because I use static IP
> Adresses.
> An what do you mean with "Latency of your links" ? The Internet
> Connection was almost unused. I hardly did not see the traffic
> Firebird created on my Diagram....
>
> >
> > 1. Latency of your links
> > 2. DNS lookups if you're not using persistent connections/tunneling.
> >
> > It's never a good idea to seperate a Firebird server from it's
> clients with
> > anything less than a cat5 ethernet cable...especially not
> if you expect
> > real-time performance.
> > You're far better off using an application server right near your DB
> server,
> > and the clients just pump screens back and forth.
> >
> > N.
> >
> >
> > > -----Original Message-----
> > > From: firebird-support@yahoogroups.com
> > > [mailto:firebird-support@yahoogroups.com]On Behalf Of Matze
> > > Sent: Wednesday, 9 August 2006 2:10 PM
> > > To: firebird-support@yahoogroups.com
> > > Subject: [firebird-support] Problem with Firebird over Internet
> > >
> > >
> > > Hello.
> > >
> > > I have an application which connects to a Firebird Server
> > > over LAN. This is
> > > very fast and everything works.
> > > Now I tried to connect this application to my Firebird
> Server over the
> > > Internet. Now this is very slow an the application
> freezes often when
> > > refreshing Data or executing a Query.
> > > In my connection statisitk I can see, that my
> > > Internetconnection is not used
> > > that much. So this is not the bottleneck.
> > > I also tried ZeBeDee but this doen't impove the speed a lot.
> > >
> > > Now what is the reason that Firebird is that slow over
> the Internet ?
> > >
> > > Thanks for your Help !
> > > Matthias Feist
> > >
> > >
> > > PS: I'm using the current ZEOS version to connect to Fireird.
>
>
>
>
>
>
>
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>
> Visit http://www.firebirdsql.org and click the Resources item
> on the main (top) menu. Try Knowledgebase and FAQ links !
>
> Also search the knowledgebases at http://www.ibphoenix.com
>
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>
> Yahoo! Groups Links
>
>
>
>
>
>
>
>