新疆都市报 > 科技 > 智能 >

我的应用程序的大小内存大小?

发布时间:2019-09-02 09:24来源: 未知

我应该运行我的应用程序,只有很少的实例(即机器)具有大内存大小或许多实例具有较小的内存大小?哪种策略最佳?这个问题可能经常面临。在构建应用程序20年后,在构建JVM性能工程/故障排除工具(GCeasy,FastThread,HeapHero)之后,我仍然不知道这个问题的正确答案。与此同时,我认为这个问题也没有二元答案。在本文中,我想分享我对这个主题的观察和经验。

两个数十亿美元的企业故事

由于我们的JVM性能工程/故障排除工具已在大型企业中得到广泛应用,因此我有机会看到世界级的企业应用程序实施。最近我有机会看到两家超级增长的科技公司(如果我说他们的名字,每个阅读这篇文章的人都会知道它们)。两家公司总部位于硅谷。他们的业务是技术,所以他们知道在工程方面他们在做什么。他们是华尔街的宠儿,享有很高的估价。他们的市值达数十亿美元。他们是现代蓬勃发展的企业的典范。对于我们的谈话,我们称这两家企业为A公司和B公司。

 

 

我非常惊讶地看到两家企业在内存大小方面都采用了两个极端*。Company-A将其堆大小(即-Xmx)设置为250gb,而company-B将其堆大小设置为2gb。即company-A的堆大小比Company-B的堆大小大125倍。两家企业都对自己的内存大小设置充满信心。正如他们所说:“证明在布丁中”,两家企业都在扩展和处理数十亿关键业务交易。

这是一个很好的经验,可以看到两家公司在相同的地理区域内进入相同的业务,具有或多或少相同的收入/相同的市值,同时在内存大小方面采用两个极端。鉴于这种真实的体验,什么是正确的答案?大尺寸或小尺寸的内存?我的结论是:如果你有一支优秀的团队,你可以成功采取任何一种策略。