xtrabackup is using 100% of my CPU, how can I limit it?

I have recently updated my MySQL databases from 5.5 to 5.7.26. I am using xtrabackup to back these up. However, on MySQL 5.7 it is using 100% of my CPU, whereas on 5.5 it only used around 60%.

The servers are both the same specification (1 x CPU, 8 GB RAM). The 5.5 database servers were using xtrabackup 2.4.9, whereas the 5.7 databases are using 2.4.15.

The code I am running is:

xtrabackup ${MySQLConnectionString} --backup --compress --compress-threads=4 --slave-info --safe-slave-backup --extra-lsndir="${LogsDir}" --target-dir="${CurrentDir}" 

Is there something I can set to limit the CPU amount it is using to less than 100%?

I have also tried this with

--parallel=1

and

--compress-threads=1

, but it seems to make no difference.

So, using

--throttle=5

seems to pip it at around 60% on my test server, so I guess I need to experiment with that to see how high I can push it for any given database.

Let me share this insight with the development engineers in case they have anything to add with that new bit of information. Will post back in the next day or so if we have anything for you.

OK, one more suggestion for you to try pinpointing the issue.
You could try to use perf record with xtrabackup and then post the output of perf report …