【发布时间】:2010-09-27 15:02:26
【问题描述】:
您使用什么方法来确定服务器需要什么样的硬件?
我经常发现很难预测带有数据库的基于 Web 的应用程序需要什么样的硬件。
对于如何最好地选择要使用的硬件,您有什么好的方法或建议吗?
【问题讨论】:
标签: web-applications hardware requirements
您使用什么方法来确定服务器需要什么样的硬件?
我经常发现很难预测带有数据库的基于 Web 的应用程序需要什么样的硬件。
对于如何最好地选择要使用的硬件,您有什么好的方法或建议吗?
【问题讨论】:
标签: web-applications hardware requirements
这实际上取决于您的 Web 应用程序需求和流量期望。
很少有网站会在最初几个月内需要超过一台合理的专用服务器。如果你这样做了,那么你可能有能力购买更多硬件;)
【讨论】:
我猜您的网络应用程序不是您所说的“服务器”和“数据库”那样的关键业务应用程序,否则您或许应该寻找一些冗余方式?
在工作中,我们有一些关于硬件的指导方针,最新的建议是服务器应该是 64 位,因为 SharePoint 14 看起来像一个仅 64 位的版本。
如果你负担得起,我建议 SQL 服务器应该是 64 位,因为大多数人都同意添加更多 RAM(4 Gb 以上)确实有回报。
【讨论】:
这是容量规划的基本问题。您首先定义一个工作负载模型,该模型描述了您期望获得的流量。这可以简单到“我预计每分钟最多点击 20 个页面”。
然后您需要考虑突发负载。如果没有任何其他数据,您可以假设到达间隔时间呈指数分布,这意味着如果您在时间 t0 有一个页面请求,那么您很可能有下一个到达 tnext 很短的时间后 t0 为很长的时间。 (这过于简单化了,但对于一页纸的答案就可以了。)
假设平均到达间隔时间为 λ。因为时间分布是指数型的,所以我们知道我们可以用一个正态近似到达间隔时间分布,其中一个标准差 (1σ) 等于 √λ。所以,我们知道
确定您愿意接受的内容,并进行测试以确保您的网络系统能够维持该速率。
【讨论】:
补充一下 Charlie 所说的,一旦您有了工作负载模型,您就可以将其输入到您的系统模拟中,以确定满足该负载所需的马力。有一些工具可以进行这种模拟:
这东西不容易,商业工具要花你的钱。
您也可以尝试寻找与您的预期负载接近的基准测试,看看哪些系统可以为您提供所需的性能。 TPC benchmarks 将是一个很好的起点。
【讨论】: