2009-07-03 113 views
4

有沒有方法可以評估軟件的最低要求?我的意思是,我怎麼能發現,例如,我的應用程序需要的最小內存量?評估軟件的最低要求

謝謝!

+0

http://stackoverflow.com/questions/893329/determining-recommended-system-requirements DUPE? – Brandon 2009-07-03 15:36:58

+0

yup ...之前沒有找到...謝謝! – Fernando 2009-07-03 16:45:53

回答

3

分析器不會幫你在這裏。也不會估計數據結構的大小。

探查器可以肯定地告訴你你的代碼花費的CPU時間最多,但它不會告訴你是否缺少性能目標 - 例如,如果您的用戶會對任何特定系統上的應用程序的性能感到滿意或不滿意。

簡單地計算數據結構的大小以及可以在任何時候分配多少數據結構,根本無法爲您提供隨時間變化的內存使用情況的準確圖片。原因在於內存使用情況取決於許多其他因素,包括應用程序的I/O程度,應用程序使用的操作系統服務數量,最重要的是應用程序使用內存的時間性質。

最有效的方式來理解的最低要求是

  • 請確保您有使用指標,是很重要的用戶衡量業績的一個有效途徑。最好的度量是響應時間。根據您的應用程序的不同,速率(如吞吐量或每秒操作)可能適用。您的測量可能是經驗性的(例如,只是嘗試),但效果最差。這最好用某種儀器完成。在Windows上,選擇是[ETW] [1]。其他操作系統有其他合適的機制。
  • 有某種行使你的應用程序的自動化方法。這將使您可以進行重複和可靠的測量。
  • 使用各種內存大小測量您的應用程序,並查看性能開始受損的位置。這也可能會暴露性能缺陷,從而阻礙您的應用程序的良好運行。如果您可以訪問各種性能級別的平臺,請使用這些平臺。您沒有指出您的應用程序的功能,但在具有1GB內存的上網本上進行測試對於許多(不是全部)客戶端應用程序來說都是很好的選擇。

您可以對CPU和其他組件如磁盤,網絡或GPU執行相同的操作。

另請注意,這裏沒有簡單的答案 - 在設定最低要求方面做一個有效的工作是真正的工作。如果您的應用程序對某個平臺或另一個平臺方面的參與敏感,則尤其如此。

還有其他一些因素 - 例如,您的應用可能在一種配置下運行良好,直到用戶打開另一個可能飢餓的應用或CPU豬。用戶很少只有一個應用程序打開。

這意味着除了指定最低要求之外,您還必須在設置用戶期望方面做出有效的工作 - 這就是解釋您的應用程序何時運行良好,何時不運行,以及影響性能的因素。

[1]:http://msdn.microsoft.com/en-us/library/ms751538.aspx強文本

0

您可以在壓力測試時嘗試在軟件上使用性能分析器。

1

給定應用程序使用的數據結構,估計它們在正常使用中佔用多少空間。使用該估算,設置多個機器(虛擬或物理)以在不同情況下(即不同的目標操作系統,不同的虛擬內存設置等)測試估計值。

然後在不同情況下測量應用程序的性能。您的最低設置將是仍然可以接受的性能最差的機器。

3

理想情況下,您可以根據您的目標受衆決定軟件的最低要求,然後在開發過程中測試您的軟件以確保其提供令人滿意的體驗。

你可以看看運行你的軟件的系統,看看你的應用程序正在消耗多少內存,並用它來指導正在消耗多少內存。 CPU稍微複雜一些 - 你可以嘗試模擬你的CPU需求,但是要做到這一點確實很難。

但最終,您需要在您的目標基礎系統上測試您的應用程序。

0

您可以使用虛擬化在虛擬機中反覆運行具有不同數量RAM的代表性測試套件...當性能由於交換而低於可接受水平時,您已找到內存要求。