質問

私はしばしば私たちのクライアントのためのサイジングと容量計画を実行するように求めています。当社の顧客が当社の製品(基本的にはJ2EE Webアプリケーション)を購入すると、彼らはしばしば、彼らがそれらの製品を実行する必要がありますどのようなハードウェアお願いします。私たちの提言は、多くの場合、高コストのハードウェアの買収につながるます。

これまでのところ、私が開発した最高の経験則では、当社の既存のインストールで収集したデータを(登録と同時ユーザー数アプリケーションが出席しなければならないこと)使用率の予測を比較することです。何かのように:。インストールAがXのハードウェアで100人の同時ユーザーに出席した場合は、インストールBは、200の同時ユーザーに出席するために2 * Xのハードウェアが必要になります。

このアプローチは、しかし、多くの問題があります。クライアントは、多くの場合、異なるハードウェアおよびソフトウェアプラットフォームを使用しています。彼らは私たちから購入する製品のセットは、一般的に同じになることはありませんし、一般的にアプリケーションの部分は、特定のクライアントのために構築されています。ソフトウェアバージョンは、などを変更しているし、非常に困難なサイズの作業を行うことができますので、多くのパラメータがあることを考慮に入れています。

私は、件名にいくつかの本を研究し、いくつかは、複雑な数学的モデルを使用して提案します。これらのアプローチは、入力(アプリケーション機能の一例について詳細な分類)として必要なパラメータの数が、私はこれらはほとんど便利だと思います。でも、基本的な要件は、これらのアプリケーションの開発およびライフサイクルを通して変化することを言及しないように定義される前に、ハードウェアは、一般的に順序付けられています。 だから、どのようにサイズと容量計画については行くのですか?任意のヒントやハウツーをいただけれます。

役に立ちましたか?

解決

基本REQSが定義される前に、ハードウェアを注文しなければならない場合は、よく、あなたができる最善について(あなたが今やっているような)プロジェクトの同様のセットのために、あなたのインストールベースを見て、容量を球場することです。彼らは彼らのインストールの成長に合わせてスケーリングと容量ニーズの既存の顧客の経験を追跡し、あなたが十分な大きさのベースを持っている場合、あなたはおそらく同様のハードウェアで同様のプロジェクトをグループ化し、容量のニーズを見てフィッティングラフな曲線を行うことができます。容量のニーズは、追加のデータポイントのためだけでなく成長中にどのように変化するか、既存の顧客に見ています。

理想的には、初期のHW / SWの購入は、パイロットのインストールのためであり、あなたはそれがアップし、会議のスペックパイロットの設定でベンチマークたら。生産へのパイロットからの移動のための容量のニーズを予測し、それらの結果を使用してください。もちろん、これはアプリはその後、注文や機器の配信を取るベンチマークパイロット・ツー・生産スケジュールの時間を要します。しかし、それはそれをすべての先行投資を行うよりも、より正確な容量の見積もりが得られます。

他のヒント

あなた(またはあなたの会社)は、この真剣に考えている場合は、

あなたが与えた説明で規模を予測するのは容易または数式はありませんが、その後、最良の方法は、パフォーマンスとスケーラビリティテスト環境ことができます簡単にセットアップ&涙を構築することです様々なクライアント構成ダウンし、彼らがどうなるかを確認するためにそれらの負荷を送信します。カスタムコンポーネント、1つの下手に書かれたコンポーネントの構築やので、このような環境を有する、インデックスは混乱のすべてをバックアップすることができます含まれていないので、あなたがクライアントに与える前にこれらの事をアイロンことができる場所です。このような環境を持っていたら、あなたはどのようにアプリケーションのスケールを確認するために、アプリケーションサーバ&データベースにメモリ&CPUを追加することができます。

私は、彼らが簡単にwatchmouseまたはbrowsermobなどのサービスを使用して、いくつかの現実的な外部負荷/スケールのテストと相まって、アプリケーションのニーズに基づいてCPU&メモリを追加することができVM環境をお勧めします。

アプリgracefullように水平スケーリング場合、

、粗い初期推定値は、出発点としてOKです。アプリは、生産で実行後、必要に応じて追加のボックスを追加または削除することは簡単なはずです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top