客户在相当大的负载下运行群集Web应用程序服务器。他想知道即将推出的尚未实施的应用程序是否仍然可以通过他当前的设置进行管理。 是否存在基于现有需求规范(或可能是功能设计规范)来预测应用程序在概念状态中的性能影响的既定方法。 首要任务是预测对CPU资源的影响。
是否有可能获得相当精确的结果?
答案 0 :(得分:2)
我会说规范的答案是否定的。您总是必须对在其目标架构上部署的实际应用程序进行基准测试。
为什么呢?软件和软件开发是不可预测的。系统更加难以预测。
即使你现在知道这些要求,并且已经深入分析了如果发生了什么:
这些担忧不是理论上的。如果是这样的话,软件开发将是微不足道的,项目将始终按时交付并用于预算。
然而,我个人使用的启发式方法可以申请。首先,您需要非常好地了解当前系统:
执行分析,以获得CPU,RAM,磁盘和网络方面的“平均”小,中,大“成本”。这将是以下形式:
从这个分析中你应该了解你有多少空间 - CPU肯定,但检查是否有足够的RAM,网络和磁盘容量。例如,小事务所需的CPU是每秒小事务的数量乘以小事务的CPU成本。添加中等事务和大事务的CPU成本,并且您有CPU预算。
确保参与DBA。他们需要在数据库上做同样的事情。
现在您需要分析即将推出的申请:
就个人而言,您被要求预测不可预测性 - 将您的姓名和声誉放在首位。如果你认为它适合,你承担大型软件开发项目的风险。如果你被迫说是的话,你需要确保有许多其他人的名字与你的一起参与 - 这些名字应该在行走/不行的决定中都可见。这不仅更有可能确保考虑所有因素,并且分析是合理的,而且还将确保项目中有许多相关人员亲自与其成功保持一致。