Subject Re: Nbackup
Author Branimir Trumbic
Thanks for your answers Dmitry,
now I can safely switch my database connection strings to use 'local
access' to the FB SS databases as I noticed that 'local access'
without TCP loopback is much faster.

Just one final question:

If u have TWO Firebird SuperServers installed on Windows as separate
services on separate port, how u can redirect local/direct connection
to use let's say 2nd FB server for database connection. Now I'm using
'localhost/3050:C:\MyDb.fdb' for 1st one and
'localhost/3051:C:\MyDb.fdb' for 2nd FB server.
What to use with local/XNET connection string, how is it resolved if I
simply put in connection string 'C:\MyDb.fdb'?


To explain my questions:
With Firebird I was unable to handle more then 500 database
connections through localhost loopback from our custom 100 application
servers which are installed on same machine, so I had to install 4
separate Firebird Super Servers on same Windows Server machine, as
separate services, they are now used to handle between 100-150
connections and it seems to work fine. All instances of Firebird are
installed by unzipping firebird zip archive and service is installed
by executing install_super.bat from each of FB bin directory:
1st: install_super.bat
2nd: install_super.bat F2
3rd: install_super.bat F3
4th: install_super.bat F4
and I found in registry that there is only one entry in
HKEY_LOCAL_MACHINE/SOFTWARE/FireBird Project/FireBird
Server/Insatnces/Default Instance/ ->holds path to the 1st firebird
server. Lately I noticed that some queries and especially gbak is too
slow when using localhost loopback, after server machine is restarted,
things become somewhat faster, so probably after long use there is so
many memory fragmentations (tcp stack probably) that causes Windows to
become slow, so I was hoping that using local access instead of TCP
layer and using some faster backup tools (nbackup) will solve some
problems...


Thanks

Branimir

--- In firebird-support@yahoogroups.com, Dmitry Yemanov <dimitr@...>
wrote:
>
> Branimir Trumbic wrote:
> >
> > 1. What is difference between database connection string "C:\MyDb.fdb"
> > and "localhost:C:\MyDb.fdb"
>
> Different transport protocols (TCP and shared memory) are used.
>
> > in other words what is difference between 'direct access' and
'tcp' access?
>
> I'd say that 'direct access' is somewhat confusing term, as it could
> mean three different things: (a) local access (aka XNET, aka shared
> memory transport), (b) embedded access (no transport is involved) or
(c)
> OS file-level access to the database.
>
> > 2. Can multiple database clients safely connect to the same database
> > using direct access method ("C:\MyDb.fdb")? Under 'safely' I mean: no
> > database corruption, deadlocks, transactions are safe, no multi thread
> > problems or other problems that can be caused by concurrent database
> > connections.
>
> They definitely can, as long as you run the latest FB build of the v2.x
> series.
>
> > I was under impression that if more then ONE database client is using
> > SAME database, that all connections must go through TCP layer
> > (localhost or remote) to ensure database stability
>
> This is wrong impression.
>
>
> Dmitry
>