【问题标题】:How to estimate resource consumption of web application [closed]如何估计 Web 应用程序的资源消耗 [关闭]
【发布时间】:2017-10-31 11:55:32
【问题描述】:

TL;DR;

是否有任何技术可以用来估算 Web 应用程序的资源消耗?如果是,我需要什么样的信息作为输入?用户数量?要持久化的字段的数据类型?预计有多少交易?

更多上下文: 我已经估计了开发 Web 应用程序的工作量,比如说一个电子商务应用程序(产品 CRUD、订单 CRUD、付款......),现在我需要估计让这个应用程序顺利启动和运行所需的资源.

例子:

   16GB RAM
   4 Core CPU (3.0 GHz +)
   500GB PostgreSQL

如何更好地估算与内存、磁盘和 cpu 相关的值?

【问题讨论】:

  • 没有客观的方法来回答这个问题,因为负载测试的主题非常广泛(就像电子商务系统一样 - 没有单一的方法来创建这样的系统,也没有单一的方法设计数据库)。你需要自己做一些测试。此外,这不是一个编程问题。不幸的是,这与 StackOverflow 无关。
  • @DavidMakogon,我没有提到负载测试,我说的是估计我尚未开发的应用程序的资源消耗估计(电子商务只是一个例子......)。关于问题和编程的关系,您甚至提到这取决于我设计数据库或应用程序的方式,这意味着确实与编程/设计有关系。我的要求是:“如果您需要估算一个尚未开发的应用程序所需的资源,您会怎么做?为什么要这样做?”。
  • 我的意思是,如果不测试性能和负载,就无法回答您的问题。我的意思是,关于数据库注释,不同的数据库模式(或引擎,或查询模式)会以某种方式影响性能,但同样,除非您进行一些测试,否则无法判断。这没有什么神奇的公式。

标签: architecture resources estimation


【解决方案1】:

这是一件很难估计的事情。就个人而言,如果我需要进行估算,我会将其分解为乘数。计算出单个产品、单个订单和单个用户所需的容量……然后相乘。这将是非常艰难的。就 CPU 速度而言,如果没有负载测试,就无法判断。非常小的决定会对处理/内存消耗产生巨大影响。使用内存中的哈希表与磁盘数据库进行键值查找的决定可能会使您的内存消耗增加几个数量级。您选择的编程框架也会产生巨大的影响。

我可以编写一个在 Rasberry PI 上运行的电子商务系统……或者一个需要数十台机器的多个集群……这完全取决于缩放因素、设计因素、开发人员技能、实施因素等.

【讨论】:

  • 这就是我目前正在尝试做的事情。通常我设计整个事情,所以我知道我需要什么堆栈、框架和服务,但是,当涉及到 CPU 和内存时,要以“更安全”的方式获得数字是相当粗糙的。无论如何,这是我所期待的和你一样的答案。谢谢
猜你喜欢
  • 1970-01-01
  • 2011-05-15
  • 2016-08-10
  • 2021-09-02
  • 1970-01-01
  • 2015-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多