4.1.1. Application Prerequisites for Parallel Replication
Parallel replication works best on workloads that meet the following
Data are stored in independent schemas. If you have 100 customers per
server with a separate schema for each customer, your application is a
Transactions do not span schemas. Tungsten serializes such
transactions, which is to say it stops parallel apply and runs them by
themselves. If more than 2-3% of transactions are serialized in this
way, most of the benefits of parallelization are lost.
Workload is well-balanced across schemas.
The slave host(s) are capable and have free memory in the OS page
The host on which the slave runs has a sufficient number of cores to
operate a large number of Java threads.
Not all workloads meet these requirements. If your transactions are
within a single schema only, you may need to consider different
approaches, such as slave prefetch. Contact Continuent for other
Parallel replication does not work well on underpowered hosts, such as
Amazon m1.small instances. In fact, any host that is already I/O bound
under single-threaded replication will typical will not show much
improvement with parallel apply.