solidDB Help : Replication : Advanced Replication : Performance monitoring and tuning for Advanced Replication : Monitoring the progress of messages
  
Monitoring the progress of messages
solidDB provides a number of events that help you to monitor the processes of propagating and refreshing data between a master and replica database. Two of those events (SYNC_MSGBYTES_SENT and SYNC_MSGBYTES_RECEIVED) are specifically for tracking how many bytes of a message have been sent or received so far. These events are useful primarily when sending very large messages, such as messages containing BLOBs, or when sending messages over very slow communication channels. If you are sending a BLOB, for example, you could use this to notify you after every 20K of data has been sent, and you could then update a screen display showing the amount of data that has been downloaded.
SYNC_MSGBYTES_SENT and SYNC_MSGBYTES_RECEIVED store the following values:
sender server name
receiver server name
message name
cumulative_bytes_sent (or received)
total_bytes
Both messages are posted 0 or more times during the process of sending a synchronization message between replica and master databases. SYNC_MSGBYTES_SENT events are posted in the transmitting server, and SYNC_MSGBYTES_RECEIVED events are posted in the receiving server.
To control how frequently these messages are sent, you set the solid.ini configuration parameter, Synchronizer.RpcEventThresholdByteCount, see Synchronizer section.
Note that the server does not post SYNC_MSGBYTES_SENT or SYNC_MSGBYTES_RECEIVED events after the final packet has been sent (or received). Instead, after each complete message has been sent or received, the server posts another event, such as SYNC_MASTER_MESSAGE_RECEIVE_END.
If you plan to use SYNC_MSGBYTES_SENT and SYNC_MSGBYTES_RECEIVED, then it is recommended that you also catch the starting and finishing events of the corresponding message.
For example, when a replica database forwards a message to the master database you might monitor the following events.
SYNC_REPLICA_MESSAGE_FORWARD_BEGIN
...
0 or more occurrences of SYNC_MSGBYTES_SENT
...
SYNC_REPLICA_MESSAGE_FORWARD_END
When you receive the event that tells you that the synchronization message has ended, you might want to unregister for that event, or at least stop executing a WAIT statement to wait for the next such event.
Notes
There is only a single variable to control both the send and receive intervals. Within a server, the interval (byte count) for send and receive is the same. Furthermore, receive events and send events are either both on or both off.
Since the sender and receiver are normally different servers, they might have different values for Synchronizer.RpcEventThresholdByteCount. In fact, one server can have the events turned off (Synchronizer.RpcEventThresholdByteCount=0) while the other server has the events turned on.
For more information about waiting for synchronization events, see ADMIN EVENT and CREATE PROCEDURE.
Go up to
Performance monitoring and tuning for Advanced Replication