High Availability Guide : Administering and configuring HotStandby : Special considerations for using solidDB® with HotStandby : Throttling and multiprocessing in Secondary
  
Throttling and multiprocessing in Secondary
To keep the data in the Primary and Secondary server up-to-date, the Primary writes to its transaction log and forwards it to the Secondary so that the Secondary can make the same changes to its copy of the database. If the Secondary cannot keep up with the processing pace of the Primary, the solidDB® throttling mechanism slows down the processing on the Primary. From the application standpoint, throttling results in increased response times.
The Secondary can use multiple threads for processing the write loads. The Secondary receives operations from the Primary in one stream. Operations are parsed and each transaction is attached in execution queue; there are as many execution queues as there are open parallel transactions. To ensure that conflicting operations are executed in the correct order, row locks are used.
You can monitor the use of threads with the following performance counters (pmons):
Perfmon variable
Description
HSB grpcommits
Number of transactions in the most recent group commit
Transaction commits are grouped in one-log bursts which are sent to Secondary as one packet.
You can use this counter only on the Primary.
HSB secondary ops in packet
Number of log records the Secondary received from the Primary in the most recent log record packet.
HSB secondary trx count
Number of open transactions the Secondary has received from the Primary
HSB secondary locks
Number of row-level locks on the Secondary
HSB secondary lock reqs
Number of lock requests on the Secondary
HSB secondary lock waits
Number of lock waits on the Secondary since the server was started
HSB secondary op waits
Number of times operations (transactions) on the Secondary have been waiting to continue execution
HSB secondary buffers
Number of buffered log record packets the Secondary has received from the Primary
HSB secondary serial mode count
Number of times the Secondary parallel executor has switched to serial mode instead of running in parallel
HSB secondary dispatch queuelength
Size of the most recent dispatch thread (operations to dispatch) on the Secondary
You can also optimize the multiprocessing level of the Secondary with the HotStandby.SecondaryThreads parameter. The optimal number of threads depends on the environment and requires experimenting with loads typical to your environment. In principle, the more processing capacity (cores) the computer has, the higher you can set the value of the HotStandby.SecondaryThreads parameter. However, excessive use of threads is not likely to improve performance.
See also
Special considerations for using solidDB® with HotStandby