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
    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
    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
    Jun 27, 2017 at 23:49


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.