【问题标题】:Whats the best way to determine the hardware requirements for an application确定应用程序硬件要求的最佳方法是什么
【发布时间】:2010-09-27 15:02:26
【问题描述】:

您使用什么方法来确定服务器需要什么样的硬件?

我经常发现很难预测带有数据库的基于 Web 的应用程序需要什么样的硬件。

对于如何最好地选择要使用的硬件,您有什么好的方法或建议吗?

【问题讨论】:

    标签: web-applications hardware requirements


    【解决方案1】:

    这实际上取决于您的 Web 应用程序需求和流量期望。

    很少有网站会在最初几个月内需要超过一台合理的专用服务器。如果你这样做了,那么你可能有能力购买更多硬件;)

    【讨论】:

      【解决方案2】:

      我猜您的网络应用程序不是您所说的“服务器”和“数据库”那样的关键业务应用程序,否则您或许应该寻找一些冗余方式?

      在工作中,我们有一些关于硬件的指导方针,最新的建议是服务器应该是 64 位,因为 SharePoint 14 看起来像一个仅 64 位的版本。

      如果你负担得起,我建议 SQL 服务器应该是 64 位,因为大多数人都同意添加更多 RAM(4 Gb 以上)确实有回报。

      【讨论】:

        【解决方案3】:

        这是容量规划的基本问题。您首先定义一个工作负载模型,该模型描述了您期望获得的流量。这可以简单到“我预计每分钟最多点击 20 个页面”。

        然后您需要考虑突发负载。如果没有任何其他数据,您可以假设到达间隔时间呈指数分布,这意味着如果您在时间 t0 有一个页面请求,那么您很可能有下一个到达 tnext 很短的时间后 t0 为很长的时间。 (这过于简单化了,但对于一页纸的答案就可以了。)

        假设平均到达间隔时间为 λ。因为时间分布是指数型的,所以我们知道我们可以用一个正态近似到达间隔时间分布,其中一个标准差 (1σ) 等于 √λ。所以,我们知道

        • 大约 32% 的时间,两个 请求的页面将少于 λ- √λ秒 分开。
        • 大约 5% 的时间,两个 请求的页面将少于 λ- 2√λ 秒 分开。
        • 不到 1% 的时间,两个 请求的页面将少于 λ- 3√λ 秒 分开。

        确定您愿意接受的内容,并进行测试以确保您的网络系统能够维持该速率。

        【讨论】:

        • 您能否澄清您对到达间隔时间的计算?在 5 秒时,3σ/1% 的情况实际上变为负数 (-1.7)。这没有意义……
        • 如果您在一秒钟内到达的次数少于零,那么有多少次到达。嗯,零。你不能少于零。
        【解决方案4】:

        补充一下 Charlie 所说的,一旦您有了工作负载模型,您就可以将其输入到您的系统模拟中,以确定满足该负载所需的马力。有一些工具可以进行这种模拟:

        这东西不容易,商业工具要花你的钱。

        您也可以尝试寻找与您的预期负载接近的基准测试,看看哪些系统可以为您提供所需的性能。 TPC benchmarks 将是一个很好的起点。

        【讨论】:

          猜你喜欢
          • 2023-03-30
          • 2022-07-03
          • 1970-01-01
          • 1970-01-01
          • 2010-12-19
          • 1970-01-01
          • 2020-01-05
          • 2011-06-05
          • 1970-01-01
          相关资源
          最近更新 更多