2

假设一个基于 Java EE 的电子商务网站运行良好,提供了预期的响应时间和吞吐量。该网站正在进行重大的 ui 更改,预计将带来 3 倍的流量。

如何确定现有环境是否可以处理预计的 Web 流量?

如果我有现有系统的系统利用率(CPU、内存利用率)、吞吐量、响应时间,有没有办法使用一些经验公式来找出它,而无需实际对系统进行负载测试。(目标是确定是否可以在设计阶段本身满足 SLA)

4

2 回答 2

0

我部分不同意前面的答案。当然,任何容量规划都涉及创建具有一组(潜在危险)假设的模型。

尽管如此,具有良好的历史观点:

  • 事务性负载(例如 Apache 日志上的网络点击)

  • CPU 和内存利用率

负载性能分析可以通过分析统计技术来确定“服务需求”(粗略地说是用于处理单个请求的资源量)。然后可以将相同的参数输入到排队网络模型中,以估计预期的响应时间和吞吐量(在资源饱和度高的情况下,其行为可能变得高度非线性)。

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

  • 您需要假设新 UI 的效果是 3X 负载生成,仅此而已(对请求的相同服务需求,相同效率)

  • 您冒着遇到未建模的可能瓶颈问题的风险(例如,饱和的连接池、网络带宽……),这是容量规划的一般问题。

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

于 2011-03-20T13:34:28.250 回答
0

不,没有公式,这有太多相互依赖的因素。获得真实数字的唯一方法是通过经验测试。如果你不能做到这一点,你唯一的选择是硬件产能过剩,并做一个有根据的猜测,会是这样的:

  • 新 UI 是否会影响 CPU 使用率?
  • 渲染和传输页面是否需要更长的时间?估计并发的增加。
  • 更多的流量是否也意味着更多的数据?如果是,这对性能有何影响?
  • 是否存在可能导致并发意外增加的瓶颈?
  • 增加的并发性如何影响内存使用?
  • 内存使用如何影响文件系统缓存、数据库缓存、JPA 缓存等。
  • 性能 IO 是否受限?有多少可用的备用容量?
  • 性能受 CPU 限制吗?有多少可用的备用容量?
  • 你有多少内存备用容量?
于 2010-10-18T19:31:21.683 回答