HDR_TXN_SCOPE
Posted in 2016
Topics: High Availability & Replication, Performance & Tuning, Installation, Setup & Upgrades, Platform-Specific Issues
I am considering migrating Production Informix from v11.70 to 12.10.FC6. HDR is tuned ON. The secondary server is read-only. (HP-UX 11.31 ia64) Config param. HDR_TXN_SCOPE is not set in current production on v11. Would like to set this parameter to NEAR_SYNC, the default, when we upgrade to v12.10 My questions are around how it impacts performance with HDR ON. 1. What does it mean if HDR_TXN_SCOPE is not set explicitly. Does the value automatically default to NEAR_SYNC in v11.7? or it is ASYNC 2. What happens to logs when the value is NEAR_SYNC and the secondary is unavailable for a period, say 3 hours ( say 30% of the logs are waiting to be sent). Hence, the general question here is do config parameters get set to the 'default' value even if the parameter is not explicitly listed and set in the config file. Thank you.
The parameters that are not specified in $ONCONFIG assume the default value.
You can check the default value of any parameter by querying
sysmaster:syscfgtab:
IBM Informix Dynamic Server Version 12.10.FC7W1 -- On-Line -- Up 4 days
00:39:53 -- 325492 Kbytes
bica@primary:fnunes-> dbaccess sysmaster -
Database selected.
> SELECT * FROM syscfgtab WHERE cf_name = 'HDR_TXN_SCOPE';
cf_id 174
cf_name HDR_TXN_SCOPE
cf_flags 33280
cf_original
cf_effective NEAR_SYNC
cf_default NEAR_SYNC
1 row(s) retrieved.
>
"cf_original" is what you have in $ONCONFIG
"cf_default" is the default value
"cf_effective" is what is set when you query it.
Regards.
On Tue, Oct 4, 2016 at 6:14 PM, MURALI PAZHAYANNUR <pmurali@ftportfolios.com
> wrote:
> I am considering migrating Production Informix from v11.70 to 12.10.FC6.
> HDR
> is tuned ON. The secondary server is read-only. (HP-UX 11.31 ia64)
>
> Config param. HDR_TXN_SCOPE is not set in current production on v11. Would
> like to set this parameter to NEAR_SYNC, the default, when we upgrade to
> v12.10 My questions are around how it impacts performance with HDR ON.
>
> 1. What does it mean if HDR_TXN_SCOPE is not set explicitly. Does the value
> automatically default to NEAR_SYNC in v11.7? or it is ASYNC
>
> 2. What happens to logs when the value is NEAR_SYNC and the secondary is
> unavailable for a period, say 3 hours ( say 30% of the logs are waiting to
> be
> sent).
>
> Hence, the general question here is do config parameters get set to the
> 'default' value even if the parameter is not explicitly listed and set in
> the
> config file.
>
> Thank you.
>
>
> ************************************************************
> *******************
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
>
--
Fernando Nunes
Portugal
http://informix-technology.blogspot.com
My email works... but I don't check it frequently...
--94eb2c048e5ae27185053e0d5221
Hi, Murali. Yes, Values that are not presented in ONCONFIG are always default related. My recommendations: 1) install your new version, copy your old onconfig file aside the new onconfig.std file. 2) create a copy of the onconfig.std to your usual name, use it as a base and copy your old configurations over it. Support don't recommend you to use old onconfigs in new installations, ok? You can use onconfig_diff utility to easily see what you need to change on the new one. Hope it helps. Best regards. Atenciosamente, Alexandre Marini [http://mcsoftware.com.br/mc_conteudo/assinaturas/logoassinatura.png] [http://mcsoftware.com.br/mc_conteudo/assinaturas/arquiteturalogo.png] ________________________________ De: ids-bounces@iiug.org <ids-bounces@iiug.org> em nome de MURALI PAZHAYANNUR <pmurali@ftportfolios.com> Enviado: terça-feira, 4 de outubro de 2016 14:14:33 Para: ids@iiug.org Assunto: HDR_TXN_SCOPE [37910] I am considering migrating Production Informix from v11.70 to 12.10.FC6. HDR is tuned ON. The secondary server is read-only. (HP-UX 11.31 ia64) Config param. HDR_TXN_SCOPE is not set in current production on v11. Would like to set this parameter to NEAR_SYNC, the default, when we upgrade to v12.10 My questions are around how it impacts performance with HDR ON. 1. What does it mean if HDR_TXN_SCOPE is not set explicitly. Does the value automatically default to NEAR_SYNC in v11.7? or it is ASYNC 2. What happens to logs when the value is NEAR_SYNC and the secondary is unavailable for a period, say 3 hours ( say 30% of the logs are waiting to be sent). Hence, the general question here is do config parameters get set to the 'default' value even if the parameter is not explicitly listed and set in the config file. Thank you. ******************************************************************************* Forum Note: Use "Reply" to post a response in the discussion forum.
Thank you, Fernando. I ran your query against on v11.70.FC7 (Prod) and v12.10,FC6 (dev). I get NO rows on v11.7 I get 1 row, similar to your row, on v12.10 cf_id 172 cf_name HDR_TXN_SCOPE cf_flags 33280 cf_original cf_effective NEAR_SYNC cf_default NEAR_SYNC This was exactly my question. I have not explicitly included HDR_TXN_SCOPE in the v11.7 config file in production. Interestingly, the same is true with v12 config file, however, I get the row when I query. Don't think this parameter is new in v12 as I see it in the doc for v11.7.
HDR_TXN_SCOPE only comes into play when DRINTERVAL is set to 0. Historically, HDR could be sync (DRINTERVAL set to -1) or async. If DRINTERVAL was set to a positive number then there could be that number of seconds before the log pages were shipped to the secondary. The key thing is how sync mode worked. It was based on log flush, not on the commit of a transaction. That meant that everything which caused a log flush would have to wait untill the log buffer was shipped to the secondary and was ACKed that the secondary had received that log buffer. If the job was a batch job which might fill many log buffers to perform that job, it would still have to wait for the ACK to be received before continuing. This was a performance hit which caused a lot of threads to have to wait on an b0, b1, b2 condition because the log buffer was not available for reuse until the ACK for that buffer was returned. With DRINTERVAL set to 0, the log flush behaves very similarly to async mode, but we did modify the logic of the actual transmission a bit so that we no longer wait for some number of seconds to pass or until the HDR buffer was full to transmit the HDR copy of the logs. Instead if the thread which performs the network transmission is about to go idle, it will probe the HDR log buffers to see if there is anything there, even a partially full buffer. If there is then it will immediately transmit the buffer. The net gain is (1) The log flush is not blocked by the transmission of the HDR log buffer, (2) The log buffer is free for reuse much quicker, (3) We can send log records quicker to the secondary, (4) Large transactions are not blocked by the HDR transmission of the intermediate log buffers, (5) Some transactions can be fully synced, some can be near sync, and some can be totally async. The fundamental difference is that previously we synced the log buffer flush and now with DRINTERVAL set to zero, we synchronize the commit. Now to your specific questions... 1. What does it mean if HDR_TXN_SCOPE is not set explicitly. Does the value automatically default to NEAR_SYNC in v11.7? or it is ASYNC NEAR_SYNC - but that is only meaningful if DRINTERVAL is set to zero. 2. What happens to logs when the value is NEAR_SYNC and the secondary is unavailable for a period, say 3 hours ( say 30% of the logs are waiting to be sent). The same thing that happens with DRINTERVAL set to -1 or > 0. HDR will eventually 'timeout' based on DRPING. When that happens, the primary functions as though it were a standalone server. When the two servers eventually reconnect, then HDR will be marked in catchup mode. During that time we push the logs from the primary to the secondary as quickly as possible, including doing a minute bit of throttling on the primary. Once the seconday has caught up with the primary, then HDR is turned back on. HDR_TXN_SCOPE is not honored unless HDR is fully on. Madison Pruet Retired and Loving it On Tuesday, October 4, 2016 11:14 AM, MURALI PAZHAYANNUR <pmurali@ftportfolios.com> wrote: I am considering migrating Production Informix from v11.70 to 12.10.FC6. HDR is tuned ON. The secondary server is read-only. (HP-UX 11.31 ia64) Config param. HDR_TXN_SCOPE is not set in current production on v11. Would like to set this parameter to NEAR_SYNC, the default, when we upgrade to v12.10 My questions are around how it impacts performance with HDR ON. 1. What does it mean if HDR_TXN_SCOPE is not set explicitly. Does the value automatically default to NEAR_SYNC in v11.7? or it is ASYNC 2. What happens to logs when the value is NEAR_SYNC and the secondary is unavailable for a period, say 3 hours ( say 30% of the logs are waiting to be sent). Hence, the general question here is do config parameters get set to the 'default' value even if the parameter is not explicitly listed and set in the config file. Thank you. ******************************************************************************* Forum Note: Use "Reply" to post a response in the discussion forum.