web-dev-qa-db-ja.com

キャパシティプランニングを手伝ってもらえますか?

これは 標準的な質問容量計画 についてです

関連:

キャパシティプランニングについて質問があります。 Server Faultコミュニティは、次のことを支援できますか?


  • ユーザー数のユーザーを処理するには、どのようなサーバーが必要ですか?
  • 一部の仕様を持つサーバーは何人のユーザーが処理できますか?
  • 一部のサーバー構成私の使用例に十分な速度ですか?
  • ソーシャルネットワーキングサイトを構築しています。どのようなハードウェアが必要ですか?
  • 一部のプロジェクトにどのくらいの帯域幅が必要ですか?
  • 一部のアプリケーション一部のユーザーが使用する帯域幅はどれくらいですか?
133
voretaq7

Server Faultコミュニティは、通常、キャパシティプランニングを支援できません-私たちが提供できる最良の答えは "ハードウェアでコードをベンチマークし、本番環境で使用するものと同様にします、ボトルネックを特定し、現在のハードウェアが処理できるワークロードの量、および/またはターゲットワークロードを処理するために必要なハードウェアの馬力を決定します "


キャパシティプランニングには、質疑応答サイトでは十分に評価できない要因がいくつかあります。

  • 特定のコード/ソフトウェアの要件
  • 外部リソース(データベース、その他のソフトウェア/サイト/サーバー)
  • ワークロード(ピーク、平均、キューイング)
  • パフォーマンスのビジネス価値(コスト/利益分析)
  • ユーザーのパフォーマンス期待
  • サービスレベル契約/契約上の義務

これらの要素やその他の要素について適切な分析を行うことは、単純な質問と回答のサイトの範囲を超えています。チーム(または適切に補償されたコンサルタント)だけが効率的に収集できる環境と要件に関する詳細な知識が必要です。


キャパシティプランニングの公理

  1. RAMが安い
    アプリケーションでRAMを大量に使用することが予想される場合は、余裕がある/収まるだけのRAMを入力する必要があります。
  2. ディスクが安い
    多くのディスクを使用する予定の場合は、大きなドライブを購入する必要があります-それらの多く。
    SAN/NASストレージは安価であり、後でコストのかかるアップグレードを回避するために、通常は小型ではなく大型である必要があります。
  3. ワークロードは時間とともに増加します
    リソースのニーズが増加すると想定します。
    増加は対称的ではない場合があり(CPUとRAMはディスクよりも速く増加する可能性があります)、線形ではない場合があることに注意してください。
  4. 電気代は高い
    RAMとディスクの価格は大幅に下がっていますが、電気代は着実に上がっています。 CPUパワーは言うまでもなく、これらすべての追加のディスクとRAMは、電気料金(またはプロバイダーに支払う料金)を増加させます。それに応じて計画します。
98
voretaq7

仮想マシン数の計画

単一のホスト上で計画する必要のあるVMの数を把握することになると、実際には良い経験則はありません。実際、1つだけあり、それは一種の良いだけです。

Virtual-Machineの数は通常、RAMによって制限されますが、そうでない場合を除きます。

それはひどく役に立たない。これらのVMが低CPUアプリケーションを実行する場合、リミッターはRAMに基づいています。各VMプラットフォームには、RAMをオーバーサブスクライブする独自の機能があるため、TOTAL_RAM/VM-RAMごとのMachineCountほど簡単ではありませんが、その数は優れた計画項目です。

しかし、VMが低CPUのパケットスリング以外のことをしている場合はどうでしょうか。


仮想マシンの数は、ホストマシンで使用可能な7つの個別のリソースによって制限されます。

  • ハイパーバイザーVMware、Xen、HyperV、KVMなど。それぞれに独自のカウントに影響する機能があります。メモリページの重複排除が得意なものもあれば、そうでないものもあります。 CPU容量のオーバーサブスクリプションを許可しないものもあれば、許可するものもあります。
  • CPUコア速度これにより、シングルスレッドの最大パフォーマンスが制限されますVMは実行できます。36コアの1.8 GHzのCPUは、ホスト上の64.8 GHzのCPUである可能性がありますが、シングルスレッドは1.8 GHzよりも速く動作しません。
  • CPUコア数これは、コア速度とともに、体験できる最大のCPUパフォーマンスの上限を示します。
  • システムRAM上記のように、これにより実行できるVMの数が制限されます。特定のハイパーバイザーは、メモリページの重複排除などの点で他のハイパーバイザーよりも優れているため、100個の同一のVMを実行している場合、100個の完全に異なるVMを実行している場合よりも、これらのハイパーバイザーをそのような重複排除システムに多くパックできます。
  • ディスクサイズ各OSイメージは、特定の容量を使用します。それをすべて保管するのに十分なスペースが必要です。したがって、disk-sizeは、ホストできるVMの数に上限を設けます。
  • I/O帯域幅VMの基礎となるディスクには、VMが処理できる1秒あたりのI/O数の最大値があります。スローしすぎると、I/Oが完了するのを待ってシステムが停止します。これにより、実行できるI/O消費VMの数に上限が設定されます。
  • ネットワーク帯域幅ネットワークを使用するVMの場合、使用可能なネットワーク帯域幅により、特定のホストで実行できるそのようなVMの数に上限が設けられます。

これらはすべて、つまずき物になる可能性があります。すべては、VMで何をしているかに依存します。覚えておくべきこと:

  • 一般的なシステムなどはありません。
  • アプリケーションコードはかろうじて移動する針から実行できるため、汎用のWebサーバーなどはありません [〜# 〜] cdn [〜#〜] -スタイルの配信。ビデオトランスコーディングなどの大きなディープクラックに対応。
  • 一般的なデータベースサーバーなどはありません。これらは、セッション状態の追跡にのみ使用される小さなシステムから、非常に大きなシステムまで実行できます。

ホストシステムにパックできるVMの数を把握するには、システムの実行方法と、システムを適切に実行するために必要なものを知る必要があります。それがわかったら、カウント計画を実行できます。さらに良いことに、ホストシステムを作成するためにどれほどの強度が必要かを理解してください!

45
sysadmin1138

正しい質問をしていることを確認してください。

  • コンピュータは安いです
  • 将来のニーズを予測するのは非常に難しい
  • 事前に何を購入するかではなく、スケーリングの方法を計画する

何が必要かわからない場合は、それほど必要ではないことを意味します。あなたがホットなウェブサイトを持っているなら、あなたはおそらくあなたのアプリがどれだけのRAM、ディスク、IO、ネットワークなどを知っているオペレーションチームも持っているでしょう...夢のような段階にある場合は、デスクトップから始めて、上に向かって作業する必要があります。

物事が大きくなったときにどのようにスケーリングするかについて、ある程度のアイデアがあることを確認してください。ロードバランサーの背後にサーバーを追加できますか? redisサーバーをシャーディングできますか?

また、独自のデータセンターを用意するのは大変です。データセンター(1台のコンピューターであっても)は、実際の目的を妨げるものです。コンピュータを購入して電源を入れ、立ち去ることはできません。空調、空気ろ過、信頼できる電力、信頼できるインターネット、バックアップ、スペアパーツ、拡大する物理的な部屋、拡大する電力容量、つまずかない電源ケーブル、その他の膨大な数の頭痛が必要です。

7
Dylan Martin