我有一个cassandra集群,最近在其中添加了两个新节点。通过查看统计数据,我发现这些新添加的机器中的磁盘i/o远远高于现有的机器。通过检查,我发现这些机器上的read\u ahead\u kb操作系统配置是4096,而其他机器上是4。我更改了值,但磁盘i/o仍然相同。我们需要重新启动机器才能使这些操作系统配置更改生效吗?另外,如果有任何其他设置,我需要看看。
z2acfund1#
这取决于您如何设置readahead值。以下命令将为设置readahead /dev/sda 到4kb,并将立即生效(无需重新启动): sudo blockdev --setra 4 /dev/sda 我建议配置udev规则(如下所述),否则重新启动后更改将丢失。预读是有关磁盘i/o和吞吐量的最重要的性能调整之一。其他一些对读取性能很重要的事情:确保有足够的可用ram用于操作系统页面缓存禁用交换在旋转的磁盘上使用ssd,特别是当您的读负载很重时本指南已有几年历史,但许多操作系统优化和硬件建议仍然适用于cassandra 3.x:https://tobert.github.io/pages/als-cassandra-21-tuning-guide.html
/dev/sda
sudo blockdev --setra 4 /dev/sda
1条答案
按热度按时间z2acfund1#
这取决于您如何设置readahead值。以下命令将为设置readahead
/dev/sda
到4kb,并将立即生效(无需重新启动):sudo blockdev --setra 4 /dev/sda
我建议配置udev规则(如下所述),否则重新启动后更改将丢失。预读是有关磁盘i/o和吞吐量的最重要的性能调整之一。其他一些对读取性能很重要的事情:
确保有足够的可用ram用于操作系统页面缓存
禁用交换
在旋转的磁盘上使用ssd,特别是当您的读负载很重时
本指南已有几年历史,但许多操作系统优化和硬件建议仍然适用于cassandra 3.x:https://tobert.github.io/pages/als-cassandra-21-tuning-guide.html