xtrabackup 上 --throttle 的合理值是多少?

all*_*yin 3 mysql backup innodb

Percona 的 xtrabackup 实用程序有一个 --throttle 选项来减少备份作业的 IO 负载。

文档说传递的值是每秒读/写对的数量。1000/sec 在现代硬件上是一个合适的值吗?5个怎么样?我找不到这些值的任何有意义的参考框架。

供参考 - 我正在读取和写入同一个驱动器阵列 (10k SAS)。--throttle=20 的 55gb 备份作业在大约一个小时内运行,在非高峰时段对系统没有明显的压力。但老实说,我不知道这是油门的高值还是低值。

pQd*_*pQd 5

这一切都取决于,但您可以使用这种方法进行猜测:查看iostat并查看磁盘上的 iops/sec。如果你有典型的数据库,你很可能受到随机搜索数/秒的限制,而不是带宽。

  1. 在维护窗口中 - 不限制地运行 xtrabackup 并再次查看您的系统可以生成多少 iops/sec。说是x。
  2. 之后,看看在非高峰时段系统典型的 iops/sec 是多少。说是你。

基于此进行一些估计,您可以将多少 iops/sec 用于备份作业。我会将其计算为 x - 2 * y 或 x - 3 * y 为尖峰留出一些空间。

我认为 xtrabackup 的参数将与 iops/sec 成线性比例但不相等 - 所以在最后一步中使用反复试验来调整油门值,以便 iostat 显示您所需的操作数/秒。

或者使用 ionice [在这里稍微介绍一下],给你的备份工作低优先级并且根本不限制它。我正在为rdiff-backup工作做这件事- 效果很好。请注意, ionice [ afaik ] 仅适用于 linux 中的某些 io 调度程序。