假设一个基于Java EE的电子商务网站表现良好,可以提供预期的响应时间和吞吐量。该网站正在进行重大的ui更改,预计将带来3倍的流量。
如何确定现有环境是否可以处理预计的网络流量?
如果我有系统利用率(CPU,内存利用率),吞吐量,现有系统的响应时间,是否可以使用某些经验公式找到它而无需实际负载测试系统。 (目标是确定在设计阶段是否可以满足SLA)
答案 0 :(得分:0)
没有这方面没有公式,相互依赖的因素太多了。获得实际数字的唯一方法是通过实证检验。如果你不能做到这一点,那么你唯一的选择就是选择硬件产能过剩,做一个有根据的猜测,就像这样:
答案 1 :(得分:0)
我部分不同意之前的回答。 当然,任何容量规划都涉及创建具有一组(潜在危险的)假设的模型。
尽管如此,拥有良好的历史视角:
事务负载(例如Apache日志上的网络点击)
CPU和内存利用率
可以构建负载性能分析,以通过分析统计技术确定“服务需求”(粗略地说,用于处理单个请求的资源量)。 然后可以将相同的参数馈送到排队网络模型中,以估计预期的响应时间和吞吐量(在高资源饱和度下,其行为可能变为高度非线性)。
尽管如此说: - 这不是一个简单的公式
您需要假设新UI的效果是3X负载生成而没有其他任何内容(对请求的服务需求相同,效率相同)
您冒着遇到非模型可能瓶颈问题的风险(例如饱和连接池,网络带宽......)这是容量规划的一般问题。
测试是唯一安全的选择,不幸的是,这是一个不可用的选项。