9、案例实战【处理百万级交易无压力】:JVM栈内存与永久代大小又该如何设置?

9.1、前文回顾

上一篇文章通过案例分析,向大家介绍了在准备上线新系统时,如何根据预估的业务量和访问量来推算系统每秒的并发量。接下来,我们将探讨如何根据这个并发量来估算每秒钟请求对内存空间的占用,进而得出整个系统运行期间的JVM内存运转模型。

在得到这个JVM内存运转模型后,我们需要在系统上线前选择一个合适的机器配置,包括所需的内存大小以及为JVM堆内存空间分配合理的大小。这实际上是一项非常基本的技能,因为对于大型互联网公司的工程师来说,每次上线新系统都可能面临巨大的访问压力。

因此,掌握如何合理预估内存压力并选择相应的机器配置以及分配合适的内存大小是至关重要的。希望大家能够熟练掌握这一技能。

9.2、探究不合理内存设置引发的灾难故事

在上一篇文章中,我们讨论了一个正面的例子,即如何合理地设置内存大小。今天,我们将讨论一个反面的不合理设置内存大小导致的问题。

为了便于大家理解,我们仍然以支付系统作为案例来说明,其实思路是一样的。假设我们现在有一个前提,就是支付系统因为没有经过合理的内存预估,所以直接选择了一台2核4G的虚拟机来部署线上系统,而且只使用了一个机器。

然后,线上JVM给的堆内存大小,仅仅只有1G。扣除老年代之后,新生代实际上只有几百MB的内存空间。大家看下图。
在这里插入图片描述

我们继续使用昨天讨论的业务压力模型,即每天处理100万笔交易。在高峰期,每秒大约需要处理100笔支付交易。对于每笔交易,我们需要创建核心的支付订单对象࿰

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无法无天过路客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值