パフォーマンスに影響を与える設定の無効化

次の設定を無効にすると、パフォーマンスに問題が発生する可能性があります。

次の設定を無効にすると、パフォーマンスに問題が発生する可能性があります。

CPU周波数スケーリングを無効にする

最新のLinuxシステムには、CPU周波数スケーリングまたはCPU速度スケーリングと呼ばれる機能があります。この機能により、サーバーのクロック速度を動的に調整して、要求や負荷が低いときはサーバーを低いクロック速度で実行できます。この変更により、サーバーの消費電力と発熱量(冷却コストに大きな影響を与える)が低減されます。残念ながら、スループットが低速で上限に達する可能性があるため、この動作はDSEを実行しているサーバーに悪影響を及ぼします。

ほとんどのLinux構文で、CPUfreqガバナーは定義されたルールに基づいて周波数のスケーリングを管理します。デフォルトのondemandガバナーは、要求が高くなるとクロック周波数を最大限に切り替え、システムがアイドル状態になると最も低い周波数に切り替えます。

重要: CPU周波数を低下させるガバナーを使用しないでください。最適なパフォーマンスを確保するには、performanceガバナーを使用するようにすべてのCPUを再構成します。これにより、周波数が最大でロックされます。
performanceガバナーは周波数を切り替えません。つまり、常に最大限のスループットで稼働するために電力の節約は無視されます。ほとんどのシステムで、次のコマンドを実行してガバナーを設定します。
for CPUFREQ in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
do
    [ -f $CPUFREQ ] || continue
    echo -n performance > $CPUFREQ
done
ヒント: システムにこのディレクトリーが存在しない場合は、お使いのオペレーティング・システムに応じて次のページのいずれかを参照してください。

詳細については、DataStaxヘルプ・センターの「CPU周波数スケーリングが有効な場合の高いサーバー負荷とレイテンシー」を参照してください。

NUMAシステムでzone_reclaim_modeを無効にする

zone_reclaim_modeを有効または無効にするとLinuxカーネルが整合せず、パフォーマンスの問題が生じる可能性があります。

zone_reclaim_modeを確実に無効にするには以下を入力します。
echo 0 > /proc/sys/vm/zone_reclaim_mode

詳細については「NUMAシステムにおけるLinuxカーネル独特のパフォーマンスの問題」を参照してください。

スワップの無効化

スワップを無効にしないと、パフォーマンスが大幅に低下する可能性があります。データベースには、複数のレプリカと透過的なフェイルオーバー機能が備わっているため、メモリー不足になったときはレプリカをスワップするよりもすぐに強制終了した方が望ましいとされています。こうすると、スワップのためにレイテンシーが高くなっているレプリカを引き続き使用するのではなく、機能しているレプリカにすぐにトラフィックをリダイレクトすることができます。システムのDRAMが多くても、OSはディスクのキャッシングに使用可能なDRAMを増やすために実行可能コードをスワップアウトするため、やはりスワップによってパフォーマンスが大幅に低下します。

それでもスワップを使用する場合は、vm.swappiness=1に設定してください。こうすると、カーネルは、最も使われていない部分をスワップアウトします。

sudo swapoff --all

この変更を永続化するために、すべてのスワップ・ファイル・エントリーを/etc/fstabから削除します。

詳細については、「ある程度の時間が経過すると、ノードがフリーズしたように見える」を参照してください。