web-applications - 确定应用程序硬件要求的最佳方法是什么

标签 web-applications hardware requirements

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

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

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

最佳答案

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

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

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

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

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

    关于web-applications - 确定应用程序硬件要求的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/379478/

    相关文章:

    c# - 如何计算最低系统要求?

    agile - 在使用像 SCRUM 这样的迭代敏捷开发方法时,如何避免等待需求?

    java - 如何使用 Spring 将 HSQLDB 嵌入到 Web 应用程序的文件中

    java - 如何使用 Java 中的 MS Word 等外部​​编辑器编写浏览器集成程序?

    java - Eclipse 动态 Web 项目创建错误?

    javascript - 如何在基于 API 的多页面客户端应用程序中组织路由?

    c# - 学习较低级别的计算

    linux - 无需身份验证即可获取远程硬件信息

    c - Arduino : toggling LED of digital pin中digitalWrite的解释

    iphone - 编写 iPhone 需求规范?