2009-07-03 12 views
4

ソフトウェアの最小要件を評価する方法はありますか?つまり、アプリケーションに必要なRAMの最小量などを、どうやって見つけることができますか?ソフトウェアの最小要件の評価

ありがとうございます!

+0

http://stackoverflow.com/questions/893329/determining-recommended-system-requirementsデュープ? – Brandon

+0

うん...前にそれを見つけられなかった...ありがとう! – Fernando

答えて

3

ここでプロファイラはお手伝いしません。どちらもデータ構造のサイズを見積もりません。

プロファイラは、あなたのコードが最も多くのCPU時間を費やしている場所を確かに伝えることができますが、パフォーマンス目標が不足しているかどうかはわかりません。ユーザーが満足している場合、または任意のシステムでアプリケーションのパフォーマンスに不満がある場合。

データ構造のサイズを計算するだけで、一度に割り当てることのできる数があれば、時間の経過とともにメモリ使用量を正確に把握することはできません。その理由は、メモリー使用量は、アプリケーションのI/Oの量、アプリケーションが使用するOSサービス、アプリケーションがメモリーを使用する方法の時間的性質などの多くの要因によって決まります。

最小要件を理解するための最も効果的な方法は、

  • にある、あなたのユーザーにとって重要なメトリクスを使用してパフォーマンスを測定する効果的な方法があることを確認してください。最良のメトリックは応答時間です。アプリに応じて、スループットや秒当たりの操作などのレートが適用される場合があります。あなたの測定値は経験的なものかもしれません(たとえば、試してみてください)が、それは最も効果的ではありません。これは、何らかの種類の計測で最も効果的です。ウィンドウでは、選択肢は[ETW] [1]です。他のオペレーティングシステムには、他の適切なメカニズムがあります。
  • アプリケーションを実行するための自動化された方法があります。これにより、繰り返し信頼性の高い測定が可能になります。
  • さまざまなメモリサイズを使用してアプリケーションを測定し、パフォーマンスが低下し始める場所を確認します。これにより、アプリケーションのパフォーマンスが低下するパフォーマンスバグが発生する可能性があります。さまざまなパフォーマンスレベルのプラットフォームにアクセスできる場合は、これらのプラットフォームも使用してください。あなたはあなたのアプリが何をしているのかを示していませんが、1GBのメモリを搭載したネットブックでテストすることは、多くの(すべてではない)クライアントアプリケーションにとって素晴らしいことです。

CPU、ディスク、ネットワーク、GPUなどの他のコンポーネントでも同じことができます。

ここでも簡単な答えはありません。最小限の要件を設定する上で効果的な仕事は実際の作業です。これは、アプリケーションが1つのプラットフォームのアスペクトまたは他のプラットフォームのアスペクトに影響を受けやすい場合に特に当てはまります。

他の要因もあります。たとえば、メモリが空いている別のアプリケーションやCPUブタを開くまで、アプリケーションは1つの設定で正常に動作します。ユーザーはほとんどの場合、1つのアプリケーションしか開いていません。

これは、最小要件を指定することに加えて、ユーザーの期待を設定するうえで効果的な仕事をしなければならないことを意味します。つまり、アプリケーションのパフォーマンスがいつ向上するか、

[1]:http://msdn.microsoft.com/en-us/library/ms751538.aspx強力なテキスト

0

ストレステスト中にソフトウェアでパフォーマンスプロファイラを使用することができます。

1

アプリケーションで使用されるデータ構造が与えられている場合、通常の使用でそれらがどれくらいのスペースを占めるかを見積もります。その見積もりを使用して、さまざまなシナリオ(つまり、異なるターゲットオペレーティングシステム、異なる仮想メモリ設定など)で見積もりをテストするための多数のマシン(仮想または物理)をセットアップします。

次に、さまざまなシナリオでアプリケーションのパフォーマンスを測定します。最小限の設定は、許容範囲内で最も適切に実行されないマシンになります。

3

ターゲットオーディエンスに基づいてソフトウェアの最小要件を決定し、その構成上の開発中にソフトウェアをテストして、満足のいくエクスペリエンスが得られることが理想的です。

ソフトウェアを実行しているシステムを見て、アプリケーションがどれだけのメモリを消費しているかを確認し、それを使用して消費されているメモリ量を知ることができます。 CPUは少し複雑です。CPUの要件をモデル化することはできますが、これを正確に行うことは難しいことです。

最終的には、ターゲットとするベースシステムでアプリをテストする必要があります。

+0

+1は、アプリが完了したときに必要なものをテストするのではなく、ターゲットとするユーザーを検討するためのものです。 – OregonGhost

0

バーチャルマシンを使用して、仮想マシンで異なる量のRAMを持つ代表的なテストスイートを繰り返し実行することができます。スワッピングによってパフォーマンスが許容レベルを下回ると、メモリ要件が見つかりました。