假设基于Java EE的电子商务网站的性能很好地提供了预期的响应时间和吞吐量。该网站正在进行重大的UI变化,预计将带来3倍的流量。

我如何找出现有环境是否可以处理预计的网络流量?

如果我有系统利用率(CPU,内存利用率),吞吐量,现有系统的响应时间,是否可以使用一些经验公式使用一些经验公式找到它。 (目标是确定是否可以在设计阶段本身满足SLA)

有帮助吗?

解决方案

没有这样的公式,为此,相互依存的因素太多。获得现实数字的唯一方法是通过经验测试。如果您不能做到这一点,那么您只有选择是在硬件中产生过多的能力,并做一个像这样的猜测:

  • 新的UI会影响CPU使用情况吗?
  • 渲染和传输页面需要更长的时间吗?估计并发增加。
  • 更多的流量也意味着更多数据吗?如果是,这将如何影响性能?
  • 是否有任何瓶颈可能导致并发意外增加?
  • 增加的并发如何影响记忆使用情况?
  • 内存使用情况如何影响文件系统缓存,数据库缓存,JPA缓存等。
  • 性能IO绑定吗?还有多少备用容量?
  • 性能CPU是否绑定?还有多少备用容量?
  • 您有多少备用记忆能力?

其他提示

我部分不同意以前的答案。可以肯定的是,任何能力计划都涉及创建具有一组(潜在危险)假设的模型。

然而,有一个很好的历史观点:

  • 交易负载(例如,apache日志上的Web命中)

  • CPU和内存利用率

可以构建负载性能分析,以确定“服务需求”(大致说明用于处理单个请求的资源的数量)通过分析统计技术。然后可以将相同的参数送入排队网络模型,以估计预期的响应时间和吞吐量(在高水平的资源饱和度上,其行为可能会变得高度非线性)。

尽管刚才说: - 这不是简单的公式

  • 您需要假设新的UI的效果是3倍负载生成,没有其他(对请求的服务需求,相同的效率)

  • 您可能会冒着遇到不可模型的瓶颈问题(例如饱和连接池,网络带宽等)的风险,这是容量计划的一般问题。

测试是唯一安全的选择,不幸的是,通常是不可用的选项。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top