web-dev-qa-db-ja.com

極端にアイドル状態のCPUを考慮して、サーバープロセッサを大幅にダウングレードしますか?

データベースを新しいサーバーに移行することを検討しています。新しいサーバーのCPUのパフォーマンスははるかに低くなりますが、RAMが多くなりSSDが高速になります。また、月額半額です。

利用可能なCPUベンチマークに基づくと、新しいCPUの処理能力は現在のCPUより50%少ない可能性がありますが、ただし、私のmuninグラフに基づくと、現在のCPUは> 95%アイドル:

Munin CPU usage

htop

CPUがどれだけアイドル状態であるかを考えると、CPUを大幅にダウングレードしても安全でしょうか?

負荷が1を超えている間、ボトルネックはCPUではなくRAMとディスクであると思います。したがって、RAMの増加とSSDの高速化によって負荷が減少しない場合でも、負荷は変わらないはずです。

何かアドバイスをいただければ幸いです。ありがとうございました

2
tom_nb_ny

ホストメトリックは、ある程度の知識に基づいた推測が可能であっても、容量評価ではありません。

たとえば、組織の成長により、このボックスの負荷が10倍になるかどうかを予測する方法はありません。また、ワークロードを分析することもありません。負荷平均では、ジョブがシングルスレッドであるかどうかはわかりません。また、並行して実行すると、はるかに多くの作業が実行されます。


そうは言っても、いくつか推測してみましょう。

ストレージ、多くを伝えることはできません。 CPU負荷は、IOPSについて、またはスループットがストレージシステムを飽和させるかどうかについては何も伝えません。はい、通常、より速いソリッドステートが良い考えです。

メモリがわずかに十分に活用されていない可能性があります。データベースによっては、これはおそらく、共有メモリを少し増やしてキャッシュを大きくすることができることを意味します。実際、データベースのメモリとCPUの比率は比較的小さいようです。

CPUは非常に十分に活用されておらず、平均して5%です。これは機能である可能性があります スタックオーバーフローの場合のように 、1つのボックスがすべての負荷を負担しても応答時間について熱狂的なままです。または、CPUの半分でパフォーマンス目標を達成できるため、CPUの数が多すぎることを意味します。

負荷が1を超えている間、ボトルネックはCPUではなくRAMとディスクであると思います。したがって、RAMの増加とSSDの高速化によって負荷が減少しない場合でも、負荷は変わらないはずです。

いいえ、それは負荷平均1の意味ではありません。負荷平均は、実行する準備ができているタスクの数であり、Linuxでは無停電スリープも含まれます。この32CPUシステムでは、32未満の負荷は、CPUを必要とするすべてのタスクがすぐにCPUを取得することを意味します。システム全体のどこにボトルネックがあるかについては何も述べていません。

最も遅いコンポーネントを見つけるには、 SEメソッド などの体系的な分析を行います。


提案されているかどうかにかかわらず、キャパシティプランニングを決定し、CPUを減らし、SSDを高速化します。現在の仕様はパフォーマンス要件を満たしていますか?ハードウェアを所有して電力を支払うだけの場合と、ハードウェアをレンタルして多くのCPUボックスが高額である場合とでは、コスト構造が異なります。

これにかかるリスクは、元に戻すのがいかに簡単かによって軽減されます。作業サイズを再び取得できれば、簡単に元に戻すことができます。


P.S.パッチ適用のメンテナンスウィンドウをスケジュールします。 UNIXまたはLinuxには、その412日の稼働時間に適用されない重要な更新があります。

1
John Mahowald

あなたが提供した情報に基づいて、私はあなたが行動を起こすべきだと思います。ワークロードが使用しているCPUはごくわずかですが、RAMは大量に使用されているようです。

また、データベースが使用可能な量よりも多くのRAMを使用しないように構成されていることを確認した後、スワップを完全に無効にすることを検討します。また、パッチを適用して再起動する頻度も少し高くする必要があります。: -)

1
xofer