web-dev-qa-db-ja.com

ソフトウェアの最小要件を判断するにはどうすればよいですか?

一部のソフトウェアプロデューサーは、最小要件、いくつかの例を提供しています: SkypeDiablo IIIbuntu-Server および OpenOffice

これらの最小要件、特に一般的にRAM、CPU周波数はどのように決定されるのでしょうか。その背後にロジックはありますか、それともエンドユーザーにとって何が問題ないかを見つけるために異なるハードウェアでプログラムをテストすることによって決定されますか?

このようなパラメーターを決定するロジックがある場合、たとえば、CまたはJavaコード(> 10k行があると想定))のそのような要件をどのように準備できますか?

15
Angs

それらの最小要件、特にRAM、CPU周波数一般はどのように決定されるのでしょうか。その背後にロジックはありますか、それともエンドユーザーにとって何が問題ないかを見つけるために、さまざまなハードウェアでプログラムをテストすることによって決定されますか?

まあ、明確な答えを出すことはできません。 (人、グループ、企業によって、アイデアやアプローチは異なります。)

しかし、一般的には、機能する可能性が高い唯一の方法は経験的です。つまり、試してみてください。

  • サポートされているさまざまなプラットフォームにソフトウェアをインストールし、ディスク容量を測定します。

  • それを実行します1 さまざまなCPU速度とさまざまな量のメモリを備えたさまざまなシステムで:

    • それが許容できるほどうまく機能するかどうかを確認します(主観的)。
    • ローエンドシステムでのストレスの兆候については、システム統計を確認してください。
  • 社内ユーザーおよび外部ベータテスターからのフィードバックを組み込みます。


1-アプリケーションの性質に応じて、さまざまなサイズの問題、データセット、オンラインユーザーの数など、妥当な程度まで試行する必要がある場合があります。


ロジックを適用するだけで信頼できるプラットフォームの推奨事項を得ることができるケースはありません。少なくとも、いくつかのテストを実行して「パフォーマンスモデル」を調整する必要があります。

問題のサイズとパフォーマンスの間に相関関係がある場合でも、通常を確実に予測することはできませんwhenスケーリング関連のパフォーマンスの問題が発生するまで...問題。

5
Stephen C

指定することを覚えておくべきことがたくさんあります( http://en.wikipedia.org/wiki/System_requirements )。

主に:

  • ソフトウェア:プラットフォーム、API、ドライバーなど。コードと依存関係がわかれば、これは簡単です。
  • ハードウェア:
    • 建築:
    • CPU /メモリ:プロファイラーを使用するか、「タスクマネージャー」または「アクティビティモニター」を使用して異なる環境でアプリケーションを測定してください
    • ストレージ:アプリのインストールはどうですか?さらに何が必要ですか?
    • ビデオ:最小解像度、3Dグラフィックス?
    • 周辺機器:ウェブカメラ?等

その他の推奨事項:

  • 単純な使用法と高い使用法でアプリケーションをテストすることを忘れないでください。最悪のシナリオをテストします。
  • 正常に動作するマシンでアプリケーションを見つけてテストすると、最小仕様を定義するのに役立ちます。つまり、より小さな仕様を探す必要はありません。
  • 現在の言語/フレームワークで見つけられるものがあります。例:Java仮想マシンの最小要件+アプリのニーズ。
1
Danilo Muñoz

異なる設定のマシン/ VMでエンドツーエンドのトランザクション/プロセスを実行するときにアプリケーションをプロファイリングすると、役立つ場合があります。これは、cpu時間と呼び出しの数によって異なるメソッド/プロセスを実行するのにかかる時間を確認するのに役立ちます。また、基盤となるVM /ハードウェアを調整すると、微調整に役立ちます。プロファイラーは、実行中に割り当てられたヒープメモリの量も通知します。したがって、最小メモリ要件については、確かにそれらを超えたいと考えています。メジャーJava IDE-NetbeansとEclipseにはそれらがあります。

Webアプリケーションの場合は、ロードツールの下に配置することを検討してください。 LoadUI。これらを使用すると、Webアプリでのヒット数/時間とサーバーでのCPU使用量/メモリ使用量などの統計を比較できます。

0
Evgheni Crujcov

CPUやメモリなどの測定可能なリソースに関しては、公式はありません。忙しい現代のオペレーティングシステムで現代の「マジック」言語で書かれた現代の巨石のマルチスレッドソフトウェアは不可能ですpredict。ベンチマークを実行するだけです。

ソフトウェアがほとんど使用できなくなるポイントを見つけます。次に、数字を少しパディングして、ユーザーがインストールしたすべてのいたずらなソフトウェア、違法な映画のダウンロードなどをバックグラウンドで説明します...さて、またはユーザーのエクスペリエンスをより多く保証したい場合は素晴らしいパフォーマンス。

0
svidgen