高性能硬件上的程序部署策略(深入理解JVM虚拟机笔记)

高性能硬件上的程序部署策略

高性能硬件上部署程序,主要方式有两种:

  • 1.通过64位的JDK来使用大内存
  • 2.使用若干个32位虚拟机建立逻辑集群来利用硬件资源

对于用户交互性强、对停顿时间敏感的系统,可以给java虚拟机分配超大堆内存的前提是有把握把应用程序的Full GC频率控制的足够低,至少低到不会影响用户使用,譬如十几个小时或者一天出现一次Full GC,这样可以通过深夜执行定时任务的方式出发Full GC,甚至自动重启应用服务器来将内存可用空间维持在一个稳定水平。

控制Full GC频率的关键是看绝大多数的对象是不是符合‘朝生夕灭’的原则,即大多数对象的生存时间不应该太长,尤其是不能成批量的,长时间生存的大对象,这样才能保证老年代的稳定。

除此外计划使用64位JDk来管理超大内存还要考虑以下问题:

  • 1.内存回收导致的长时间停顿
  • 2.现阶段,64位JDK的性能测试结果普遍低于32位JDk
    1. 需保证应用程序足够稳定,因为这种应用要是产生堆溢出就无法产生堆转储快照
  • 4.相同应用程序在64位JDK消耗内存比32位大,由于指针膨胀数据类型

使用逻辑集群方式来部署应用程序,可能会遇到以下问题:

  • 1.尽可能的避免节点竞争全局资源,最典型的就是磁盘竞争,各个节点同事访问某个磁盘文件很可能导致IO异常
  • 2.很难高效利用资源池,例如连接池,一般都是节点建立自己的连接池。
  • 3.仍然不可避免的收到32位程序的内存限制
  • 4.大量使用本地缓存的应用会曹成内存浪费,此时可以考虑使用集中式缓存
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值