如何估算Web应用程序的资源消耗

How to estimate resource consumption of web application

TL;DR;

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

更多背景信息: 我已经估算了开发 Web 应用程序的工作量,比方说电子商务应用程序(产品 CRUD、订单 CRUD、付款...),现在我需要估算启动此应用程序所需的资源 运行顺利.

示例:

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

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

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

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