Re: OnBar Parameter BAR_NB_XPORT_COUNT
Just a few hints about BAR_NB_XPORT_COUNT & BAR_NB_XPORT_SIZE.
1. The number of buffer allocated for sending data for a single
process to/from the storage manager. If you have 4 onbar
you will have 4 * BAR_NB_XPORT_COUNT buffer allocated.
2. If you change BAR_NB_XPORT_SIZE at ALL previous
backup, both logs and archives, are invalid.
3. Generally it is already set as large as possible. The XBSA spec
states that this can be 1 byte less then 64KB. Informix set it
one database page less than 64KB. So for system with 2KB
database page size this would be 31 (2KB*31=62KB).
What these buffers do is hold the archive data for both informix and
the storage manager. In an attempt to not bycopy data Informix allocates
a set (the number determined by BAR_NB_XPORT_COUNT) of buffers
that are filed by the kaio threads in the engine and the pointers to these
are passed to onbar. This means that the actual data in the buffer (which
by BAR_NB_XPORT_SIZE) is not moved. onbar takes this pointer and
hands it directly to storage manager. Again the data never moves. While
single buffer is being passed to the storage manager, oninit is filling the
other buffers (BAR_NB_XPORT_COUNT - 1) with data. This will
ensure that when onbar request another buffer it is already filled with
To view the status of these buffer you can use the command onstat -g stq.
will show you the buffer and if they are on the full size (engine has filled
them with data) or the empty side (engine needs to fill the buffer with
generally see one buffer missing of these queues and that is the buffer
currently being processed by the storage manager.
Hope this helps,
Doug Agnew wrote:
Doug Agnew wrote:
> The documentation is a little unclear on BAR_NB_XPORT_COUNT. Are these
> buffers within the DB server or within the OnBar region? I assume these
> buffers are the same size as the database pages. What are some of you
> good OnBar performance using as a value??
> Doug Agnew
> Charlotte Pipe & Foundry
> dagnew AT charlottepipe DOT com