Subject Re: [firebird-support] RE: Nbackup, Default I/O ON or OFF
Author Dmitry Kuzmenko
Hello, atunccekic!

Friday, December 20, 2013, 1:27:41 PM, you wrote:

adct> I realized i had some mistakes while trying to ask, so I still
adct> have some minor things in my mind.
adct> First, as you said, it's a mistake in my question, it should be
adct> I can't see the default option for NBACKUP'S Direct I/O SETTING in my system.

no, no mistake in your question, I said, that there may be a mistake
in description of -d parameter for nbackup.

The physics is the following (at least for Windows, don't know about
Linux:
- Forced Writes ON/OFF and nbackup -d - are special parameters for
CreateFile.
- Since file (database) is opened with some parameters, application
(Firebird) need to reopen file with other parameters to get
FW ON or OFF or "file direct access".
Since nbackup does not disconnect all users, I think it does not
force Firebird to reopen database file with other parameters, because
at least direct file I/O disables operating system cache for the file
specified.
Thus, turning database file to direct access can cause performance
loss, immediately, and for the time that nbackup will "scan" the
database.

That's are my thoughts only, I haven't looked into nbackup source
code.

By the way, Firebird 2.5 have FileSysystemCacheThreshold parameter.
If you set it to 0, FB will open databases in direct I/O mode.
So, you can check it by yourself.

adct> Does nbackup, take the behavior of firebird server's "forced
adct> writes", if it's not given as a parameter? Or is it turned on by default, or off?

It must not, at all, at least because FW affects "OS lazy write cache", and
when nbackup works, Firebird only reads from DB, not writes.
But, for delta file, I don't know, FW is used as for database, or OFF,
etc.

adct> I've used the same raid array to store the backup. Yes, it's a
adct> good idea to use an other drive. I was not expecting this kind
adct> of slow down.

yes, good RAID 10 can eliminate performance issue for reading and
writing at one "hard drive".

adct> For first time nbackup users like me, it can be a
adct> good thing if it writes a confirmation message to the console
adct> saying, "using another physical disk is strongly recommended, do
adct> you wish to continue?" Just an idea.

well, we think that DB admin will be clever enough to check free space
on the drive, if he put nbackup to the same drive where database is
:-)

adct> Now, I'm hasitating to start a level 1 backup, because if I
adct> start a B 1 level backup and if it takes about 6-7 minutes and
adct> slow down the operations tremendously again, they will cut my head off

well, "-d on" means "direct I/O on", but anyway, nbackup will read every
page in the database, so, you will get performance penalty during
nbackup.

Also, read comments at
http://tracker.firebirdsql.org/browse/CORE-2316

--
Dmitry Kuzmenko, www.ib-aid.com