Azul公司的Zing JVM是從HotSpot fork出來的商業(yè)JVM,主要特點是低延遲(C4)、快速預熱(可以使用上一次收集的profile,減少JIT預熱時間),在GC方面做了很大的優(yōu)化,接下來本文分別針對Zing和HotSpot(ParallelOldGC/CMS/G1)在GC高壓下進行測試,觀察系統(tǒng)的latency指標。
測試環(huán)境為linux-x86(64) centos7虛擬機,4 core,Zing和HotSpot均為Java8版本,由于是在個人PC跑的測試,Xmx受限只開到3GB(Zing宣稱在TB量級下依然表現(xiàn)出色,暫時無法測試)
測試代碼:
https://github.com/ssssssnake/jvm.git
說明:
純GC高壓測試,和真實業(yè)務系統(tǒng)有一定差距,如果想做進一步測試,可以在業(yè)務系統(tǒng)環(huán)境中進行,或者參考http://dacapobench.org/上的用例
測試場景:
分別使用ParallelOldGC/ConcMarkSweepGC/G1GC和Zing C4,跑測試用例,使用jHiccup分析系統(tǒng)latency
測試結果如下:
ParallelOldGC:

ParallelOldGC

ParallelOldGC
ConcMarkSweepGC:

ConcMarkSweepGC

ConcMarkSweepGC
G1GC

G1GC

G1GC
Zing

Zing

Zing
結論:
可以看出基于Zing的系統(tǒng)在latency上明顯低于HotSpot