We have two HDR configuration in our envrionment and both running async mode with DRINTERVAL and DRTIMEOUT of 30 seconds.
These are our two HDR environments:
1) A pair of DBs running on 100Mbits network link.
2) Another pair of servers separated by a 4Mbits WAN PT-to-PT
link. The same link is shared amongst many other uses.
We have experienced a significant drop in performance in the second HDR environment. About 50% to 100% slower processing time for some of the jobs. Whereas, the impact of HDR on the first DR pair is not so significant, ranages from 5% to 20%.
The problem here is obvious. The slow link between the two servers in the second HDR environment.
I noticed through "onstat -g rea" output that HDR send thread dr_send was running on CPU vp class. When dr_send is active, the ready queue has more processes behind it. I can only assumed from this output that the dr_send is holding back other processing.
One solution I believe is to increase CPUVP, so that when dr_send is holding back one CPUVP, another CPUVP can service other requests.
My problem is I do not have enough physical CPU to allow the increase in CPUVP.
Other things in my mind include:
1) To increase the buffer size of packet send from default 4k to 8k or 16k. This may reduce the chances of dr_send going into the CPUVP queue.
2) Increase the DRINTERVAL to a longer period.
3) To make dr_send thread to use NET VP class. So, it will not hold
back other processing in this queue as it will be the only thread
using the NET VP. All our users are using SHM connection.
Would appreciate if anyone has been through this problem and would not mind to share your expertise with us.