更改操作系统配置和调整后是否需要重新启动
Is restart required after changing operating system configuration and tuning
我有一个 cassandra 集群,我最近在其中添加了两个新节点。查看统计数据,我发现这些新添加的机器中的磁盘 I/O 比现有机器高得多。
在检查时我发现这些机器上的 read_ahead_kb OS 配置是 4096 而其他机器是 4 .
我更改了值,但磁盘 I/O 仍然相同。我们是否需要重新启动计算机才能使这些 OS 配置更改生效?
此外,如果还有任何其他设置我需要查看。
这取决于您如何设置预读值。以下命令将 /dev/sda
的预读设置为 4kb,并将立即生效(无需重新启动):
sudo blockdev --setra 4 /dev/sda
我建议配置一个 udev 规则(如 here 所述),否则更改将在重启后丢失。
预读是关于磁盘 I/O 和吞吐量的最重要的性能调整之一。其他一些对读取性能很重要的事情:
- 确保您有足够的可用 RAM 用于 OS 页面缓存
- 禁用交换
- 使用 SSD 而不是旋转磁盘,尤其是当您有大量读取工作负载时
本指南已有数年历史,但许多 OS 调整和硬件建议仍然适用于 Cassandra 3.x:
https://tobert.github.io/pages/als-cassandra-21-tuning-guide.html
我有一个 cassandra 集群,我最近在其中添加了两个新节点。查看统计数据,我发现这些新添加的机器中的磁盘 I/O 比现有机器高得多。 在检查时我发现这些机器上的 read_ahead_kb OS 配置是 4096 而其他机器是 4 .
我更改了值,但磁盘 I/O 仍然相同。我们是否需要重新启动计算机才能使这些 OS 配置更改生效?
此外,如果还有任何其他设置我需要查看。
这取决于您如何设置预读值。以下命令将 /dev/sda
的预读设置为 4kb,并将立即生效(无需重新启动):
sudo blockdev --setra 4 /dev/sda
我建议配置一个 udev 规则(如 here 所述),否则更改将在重启后丢失。
预读是关于磁盘 I/O 和吞吐量的最重要的性能调整之一。其他一些对读取性能很重要的事情:
- 确保您有足够的可用 RAM 用于 OS 页面缓存
- 禁用交换
- 使用 SSD 而不是旋转磁盘,尤其是当您有大量读取工作负载时
本指南已有数年历史,但许多 OS 调整和硬件建议仍然适用于 Cassandra 3.x: https://tobert.github.io/pages/als-cassandra-21-tuning-guide.html