[MDEV-11599] Galera is 3x slower than standalone with durable settings Created: 2016-12-18 Updated: 2019-05-20 Resolved: 2019-05-20 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Galera |
| Affects Version/s: | 10.1.20 |
| Fix Version/s: | N/A |
| Type: | Bug | Priority: | Major |
| Reporter: | amq | Assignee: | Jan Lindström (Inactive) |
| Resolution: | Not a Bug | Votes: | 0 |
| Labels: | performance | ||
| Environment: |
CentOS 7.2 x86_64 (xfs), Ubuntu 16.04 x86_64 (ext4) |
||
| Description |
|
When comparing a single-node Galera with a standalone MariaDB, I have noticed a suspiciously big performance difference with durable/non-durable settings:
Config:
Benchmark: Sysbench 0.5
Results: Galera, durable Standalone, durable Galera, non-durable Standalone, non-durable Server details:
I have repeated the tests multiple times, even re-bootstrapped the data directory and Galera. What is also interesting, the CPU idle stays above 50% with the durable Galera, while it stays under 1% in other testing scenarios. Update: Another interesting thing: iowait is over 20% with the durable Galera, while it is under 1% in other scenarios. |
| Comments |
| Comment by Daniel Black [ 2016-12-19 ] |
|
Galera isn't great a write scaling. Its good for read scaling and failover. Having said that the following may help: With such a high write load increasing the innodb_log_file_size will help (though it will affect both scenarios equally). Are each of the nodes on the same SSD though VMs? In wsrep_provider_options, try raising gcs.fc_limit to enable a larger backlog - 128-1k. gcache.size could be significantly undersized too. Having wsrep_slave_threads larger to the approximate number of threads doing a write could help 50% Big caveat about innodb_flush_log_at_trx_commit!=1 - really only save if all your nodes are on independent power cicuits otherwise a power failure will make you loose data. |