精神小伙儿探秘JVM( 六)

JVM调优

连续研究了五篇,这次终于来到小高潮了,也是我最好奇的部分,JVM调优。作为Java小白,听到JVM调优不止一次。包括网上的视频,招聘岗位的要求等等,都会提到JVM调优。那么,JVM调优到底是啥?今天俺们就来瞅瞅。

调优调啥呢

JVM是Java虚拟机,是帮助字节码实际解释运行的东东。根据前面的探秘系列,不难看到,JVM这里头需要考虑的问题很多。主要就是对象的生成创建以及GC回收,新生代老年代的判定处理。其中的算法,处理机制的不同,会很大程度的影响JVM性能。而通过JVM对外提供的参数设置,可以影响JVM的GC回收机制,进而提升优化JVM的性能。这就是JVM调优。

开调

知道了调啥,开调就完了。主要方式有两种。

使用64位JDK管理大内存

使用64位内存,会增大堆空间,降低担保风险。但堆内存的扩大,垃圾收集频率虽然降低了,但每次垃圾收集耗时会大大增加。14G堆Full GC可达数十秒。如果频繁GC,用户就疯了。

使用这个方式前提是GC频率不高,或者交互没那么频繁,不会影响到用户使用。带来的问题如下:

1.回收时间长;

2.目前64位JDK性能跟不上;

3.一旦内存溢出,将产生超过10G的Dump文件,分析会非常崩溃,几乎无法定位;

4.同样程序,64位比32位JDK更吃内存,因为指针膨胀和内存补齐的原因。

使用32位JVM建立逻辑集群

在一台机器上,启动多个应用服务的进程,每个进程分配一个端口,然后在前端整个负载均衡器,以反向代理方式分配请求。好吧,这是我抄来的,懵了,这是啥意思?百度吧。盗图如下。

负载均衡就是一种软件或者硬件。前端发来的请求,通过它合理均衡的分配给后端服务器。避免出现一些服务器忙死一些又闲死的情况。在这里,使用一台机器,但每个应用都有个自己的进程端口,通过负载均衡器的分配,前端的请求平均分配给各个服务进程。

完了啥又是反向代理?有反就有正。代理就是个代理人,正向代理,是内网通过代理访问外网。这个就是正向的。反向就是反过来,外网通过代理访问内网。比如你在公司上家里头电脑,就是正向代理;在家远程公司电脑,就是反向代理。擦,就这?!

通过反向代理,把客户端发来的请求,分配给了服务器。由于是在同一台机器上,所以使用无Session复制的亲和式集群是不二选择。这种方式,均衡器会按照一定的规则,普遍是SessionID进行分配,将一个固定的用户请求永远给一个固定的集群节点进行处理。这里头这个Session复制涉及到Session服务器,以后会专门详细唠唠。

感觉这个还是没理解透,之后会结合实战再深入研究下。下期先把类文件整明白了。‘

JVM需调优,参设设置有讲究;理解还需加实战,日后必须搞清楚。

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

林小BA

请作者增肥

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

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

打赏作者

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

抵扣说明:

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

余额充值