# HA_Perf

> This benchmark test provides some eXtremeDB High Availability performance statistics for create, update and delete operations in different HA modes. Read-only operations (e.g. searching or getting field values) are "local" in nature, so they are not measured. The replica also measures synchronization time.

> The master application creates the database, then creates, updates and deletes objects (to demonstrate performance without replicas attached) and then waits for connection requests. After the replica attaches, it repeats the create-update-delete cycle to demonstrate performance of operations with replication.

> The master has the following command-line options:

> > -a N - use ASYNC mode with async buffer size N Kb (see also sample `haasync`)

> > -h - use hot synchronization (see also sample `hahotsync`)

> > -m - use multicast (see also sample `hamcast`)

> > -w N - use transaction window of size N (see also sample `hawindow`)

> > -s - use shared commit mode - only for shared-memory configuration (see also sample `hashared`)

> > -n N - makes N operations per transaction ( N = 1 by default )

> The replica has the following command-line options:

> -m - use multicast (has to be the same as for haperf_master) <connection_string> - address of master instance, (`127.0.0.1:10000` by default)

### How to Run

> See instructions here on how to build this and other samples on your development platform. Once built, the sample can be run from the `\target\bin` directory.

> In a console window run:

>         haperf_master

> Then in a second console window run:

>         haperf_replica

> But it is more instructive to run one instance in your development environment debugger, stepping through the code.

Related Topics