如何確定硬體要求
我被要求為我目前正在開發的應用程序指定伺服器硬體要求,我對自己正確執行此操作的能力沒有信心。理想情況下,我希望自己一步一步地執行此操作,但是閱讀其他類似的問題,這並不是那麼簡單,我可能會在這裡得到最好的答案,只需指定我的要求是什麼。
該應用程序是一個 WPF 瘦客戶端,它通過 WCF 與 IIS 中託管的伺服器端應用程序進行通信。目前幾乎沒有業務邏輯要求,但這可能會在項目的後期階段發生變化,並且可能會將 WWF 納入其中一些要求。我將 NHibernate 用於持久層,並將使用 AppFabric 進行二級記憶體。最後,該數據庫將是一個 SQLServer 2008 R2 數據庫。
我被要求指定的網站將有大約 20 個使用者。為了降低成本,他們想要一個單機解決方案,在性能方面,我相信這少量的使用者會很好,但是,我從安全的角度和停機時間的角度理解這樣做的風險等等。如果我在這裡很天真,請告訴我。
不幸的是,在這個階段我不知道需要在數據庫中儲存多少數據——最終我可以假設我需要儲存的數據越多,我需要的硬碟就越大?
如果我錯過了任何有價值的資訊,請在評論中告訴我。
常見的方法是檢查樹主要可能的瓶頸“CPU 功率”、“磁碟 I/O 性能”和“記憶體要求”,估計每個具體情況的大致需求,並通過使您感到舒適的程度(這有點不科學,但當然需要有根據的猜測,包括對未來負載和使用模式以及可能的資源匱乏功能的預測)。
“數據量”很可能不會成為當今硬碟驅動器大小的問題 - 您很可能能夠以低成本獲得“完全足夠”的儲存量。
記憶體和 I/O 性能瓶頸通常相互關聯,因為 RAM 用於記憶體速度相當慢的硬碟 I/O,而硬碟在記憶體不足的情況下用作交換空間。
一般來說,由於系統和庫中算法的複雜性,在起草委員會做出的任何估計都不會像檢查實時工作負載及其預測那樣好。鑑於今天在託管和虛擬化方面的機會,我個人建議簡單地使用“先試后買”的方法,並為此目的從託管市場租用一台 Windows 機器。