Recent

Author Topic: Performance difference btwn TIBXClientSideBackupService and TIBXServerSide  (Read 1877 times)

RedOctober

  • Sr. Member
  • ****
  • Posts: 450
I'm building a backup utility using Lazarus 1.8.2 and FPC 3.0.4 and IBX 2.3.0.

I'm backing up a local .FDB to a local .FBK.  I noticed that I can do this one of two ways. Using a

TIBXServerSideBackupService (using TCP protocol even though it's local)    or
TIBXClientSideBackupService

I have built my Utility so far, using the Server side backup component.  It works.  It also has Verbose output and multi-file option which the ClientSide component doesn't.

My question is:  Is there a significant performance difference between the two components?

Thanks in advance.


Thaddy

  • Hero Member
  • *****
  • Posts: 14172
  • Probably until I exterminate Putin.
You can only test such things against localhost. Any other performance difference are dependent on connection and wire speed.
Specialize a type, not a var.

RedOctober

  • Sr. Member
  • ****
  • Posts: 450
Yes, I can test this, but I was thinking along the lines of "designed in" extra CPU cycles that may be in the TCP connection verses the local protocol connection.  If I'm going Local database to Local backup, I'm hoping that there is no difference or if there is, that it's negligible.

Depending on the theoretical difference, if it's small, it wd take a very large database backup to appear as a significant difference in performance.

Put more simply:  Is TCP protocol slower, or have more CPU overhead, than Local protocol, if both the database and the backup file are on the same local computer?

rvk

  • Hero Member
  • *****
  • Posts: 6062
You should also note that "serverside" probably uses the Firebird api. And if you backup with that the backup file will be written bij the Firebird service and would have the Firebird-user as owner. With a locally installed Firebird this might not be a problem but with a server-installation it's something to be considered. (On Linux you might not even be able to get to that file). The path where the server would need to save the backup could even be unreachable for the client. That's an upside (and maybe a downside depending on what you want).

Maybe you can give the user the choice. If no hostname is given (where the file needs to be saved) you could use the "clientside". Otherwise you could use "serverside".

 

TinyPortal © 2005-2018