小编edo*_*ian的帖子

提高MySql复制速度

我正在寻找有关如何提高 mysql 从站复制速度的指针。它对于正常生产来说足够快,但如果由于某种原因落后,则需要很长时间才能赶上。(如果服务器关闭或复制停止了几个小时等)

一些数据:

  • 数据库在2TB左右,每天写的binlog在500GB左右。
  • 对于正常生产使用,从延迟保持在 0 或 1 秒
  • 在尝试追赶时,它以每秒 1 秒左右的速度接近掌握。(所以赶上10个小时需要10个小时)
  • Slave 仅作为故障转移机器重放数据,没有针对它运行的选择,如果他死了,它应该能够替换主人(一切我们都很慢,但没关系)
  • 服务器在同一个物理网络中

可以做些什么来提高这个速度?

(是的,改进硬件是一种选择,但我们希望确保在花费大量资金之前检查过其他选项)

编辑:

回复@3molo 问题的一些数据:

  • 追赶时的带宽使用:~2MB/s 到 10MB/s,我猜没问题。
  • CPU 使用率低,io 等待时间长(slave 只有 2 个 CPU,大约 70% 到 85% 的 io 等待而追赶。所以这意味着瓶颈在磁盘上?
  • Ram 使用量为 1.5GB 使用 4GB(其余为“缓存”)。所以我看不到那里有多大潜力?(因为它只是写负载(?))

如果瓶颈是磁盘(6 个磁盘 raid 10 设置),除了增加 raid 之外还有其他选择吗?还是我们必须这样做?

mysql mysql-replication

6
推荐指数
1
解决办法
1万
查看次数

使用 ./script.sh 执行脚本失败,而“sh script.sh”有效

我对这个错误感到非常困惑,甚至不知道该用谷歌搜索什么:

失败- 执行脚本:

./test.sh 
bash: ./test.sh: "Permission denied" 
Run Code Online (Sandbox Code Playgroud)

有效- 虽然这些方法有效:

sh ./test.sh
Works
bash ./test.sh
Works
Run Code Online (Sandbox Code Playgroud)

测试脚本:

cat test.sh 
#!/bin/bash

echo "Works"
Run Code Online (Sandbox Code Playgroud)

拥有所有执行权限:

chmod 777 test.sh

ls -als test.sh 
4 -rwxrwxrwx 1 edo edo 27 13. Feb 10:41 test.sh
Run Code Online (Sandbox Code Playgroud)

我对为什么会发生这种情况一无所知,因为这对我来说没有任何意义,我也不知道谷歌用什么词来正确描述这种行为。

linux fedora executable

1
推荐指数
1
解决办法
116
查看次数

标签 统计

executable ×1

fedora ×1

linux ×1

mysql ×1

mysql-replication ×1