JVM吞吐量优先、响应优先,选取原则

1,099 阅读1分钟

1)串行

单线程:垃圾回收发生的时候,其他线程都暂停

使用于堆内存较小的时候,适合个人电脑

2)吞吐量优先

多线程

适合于堆内存较大,需要多核CPU

让单位时间内STW的时间最短

3)响应时间优先

多线程

适合于堆内存较大,需要多核CPU

注重的是垃圾回收时STW的时间最短

举个例子:

一个服务 10秒收集一次,停顿时间100ms;

 通过调整参数,5秒收集一次,停顿时间70ms ,

吞吐量下降,但是响应速度得到提升。

原则:

涉及用户交互体验的业务,响应优先

对响应时间不敏感的业务,吞吐量优先