I am using slave_parallel_type = LOGICAL_CLOCK and slave_parallel_workers = 20 to achieve replication performance.

Lets say I am using m4.4xlarge with 16 cores and 64GB memory for the master and the slave:

  1. As far I understand theseslave_parallel_type and slave_parallel_workers parameter should be only on the slave, right ?

  2. What value slave_parallel_workers parameter should have? 16 as number of cores ? (I test it with 20 and I got nice performance).

  3. Any suggestion about the slave_pending_jobs_size_max ?

  4. sync_binlog=1 should be on both master and slave to increase group commits and increase the potential to execute queries in parallel?

slave_parallel_type = LOGICAL_CLOCK
max_allowed_packet = 256M


  • 1
    Depending on your workload, a much smaller number may work just as well. Too large a number leads to contention; too small leads to slow replication. (20 seems "high")
    – Rick James
    Commented Jun 27, 2017 at 14:05
  • @RickJames thank you, do you know maybe if slave_parallel_type and slave_parallel_workers parameters should be only on the slave?
    – Berlin
    Commented Jun 27, 2017 at 19:04
  • 2
    I think the answer is that they are defined in the section "System Variables Used on Replication Slaves" of dev.mysql.com/doc/refman/5.7/en/replication-options-slave.html . Note also the name of that page: "replication-options-slave.html".
    – Rick James
    Commented Jun 27, 2017 at 23:49


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.