我被要求为我正在开发的应用程序规定服务器硬件要求,我对自己的能力没有信心.理想情况下,我想要一步一步地列出自己如何做到这一点,但是阅读其他类似的问题,并不是那么直截了当,我可能会通过指定我的要求来获得最佳答案.
该应用程序是一个WPF瘦客户端,它通过WCF与IIS中托管的服务器端应用程序进行通信.目前几乎没有业务逻辑要求,但这可能会在项目的后期阶段发生变化,并可能将WWF纳入其中一些要求.我正在使用NHibernate作为持久层,并将使用AppFabric进行二级缓存.最后,数据库将是sqlServer 2008 R2数据库.
我被要求规定的网站将有大约20个用户.为了降低成本,他们想要一个单一的盒子解决方案,就性能而言,我认为这个用户数量很少,但从安全角度和停机时间来看,我都很欣赏这种风险.如果我在这里天真,请告诉我.
不幸的是,在这个阶段我不知道需要在数据库中存储多少数据 – 最终我可以假设我需要存储的数据越多,我需要的硬盘就越多?
如果我错过了任何有价值的信息,请在评论中告诉我.
解决方法
常见的方法是检查树主要可能的瓶颈“cpu功率”,“磁盘I / O性能”和“内存要求”,以估计您的每个特定情况的大致需求,并通过一个过度工程让你感到舒服的程度(这有点不科学,但当然需要一个有根据的猜测,包括对未来负荷和使用模式的预测以及可能的资源需求特征).
“数据量”很可能不会成为当今硬盘大小的关注点 – 最有可能的是,您将能够以低成本获得“entirely sufficient”的存储量.
内存和I / O性能瓶颈通常是互连的,因为RAM用于缓存相当慢的硬盘I / O,而硬盘在低内存条件下用作交换空间.
通常,由于系统和库中的算法的复杂性,在起草板上做出的估计不如检查实时工作量及其预测一样好.凭借今天的托管和虚拟化机会,我个人建议只使用“先购买前试用”方法,并为此目的从托管市场租用Windows机器.