Azul의 x86 용 Zing Elastic Java Runtime
비교할 수 없는 극강의 자바 런타임
Azul의 x86용 Zing Elastic Java Runtime의 정보와 Benchmark Test 결과를 확인하세요!
Azul 시스템이란…
Azul 시스템은 대용량의 스케일업형 하드웨어에서 자바 애플리케이션을 운영할 수 있는 기술을 기반으로 하고 있다.
Azul이 제공하는 기술의 두 가지 핵심 구성요소는 리얼 타임에 특화된 자바 가비지 컬렉션과 오버 헤드가 거의 없는 진단/모니터링 도구 이다.
이전에 Azul은 Vega라는 전용 하드웨어에서만 동작하는 가비지 컬렉션 기술을 제공하였으나, Zing Elastic Java Runtime은
X86 프로세서와 AMD 프로세서에 최적화하여 Azul이 가지고 있는 기술 스택을 소프트웨어로 제품화한 것이다.
웹 포탈, 트레이딩 플랫폼, 전자상거래 사이트 등의 웹사이트들은 응답 시간이 매우 중요한 대용량 서비스 애플리케이션을 운영하기 때문에 시스템을 운영하는 고객들은 엔터프라이즈 자바에 대한 불만을 가지고 있다.
특히 최근의 하드웨어 가상화의 이용 확대와 클라우드 컴퓨팅의 대두 그리고 기존의 Java VM이 하드웨어의 능력을 따라가지 못하는 것은 자바 애플리케이션 기반으로 서비스를 제공하는 고객에게는 매우 해결하기 어려운 과제이다.
새로운 비즈니스 전략과 기술 혁신이 기존의 자바 애플리케이션 인프라를 추월 하고 IT 조직의 현대화 압력은 점점 강해지고 있다.
기존 자바 런타임은 고성능, 비즈니스 크리티컬 애플리케이션, 가상화 및 클라우드 컴퓨팅 과 같은 새로운 운영 환경의 변화에 대한 요구들에 대해 쫓아 가지고 못하고 있다.
기존 C 나 C++ 와 같은 언어로 개발되었던 미션 크리티컬한 리얼 타임, 대용량 애플리케이션의 영역은
자바로 극복하기 어려운 도전 과제로만 남아 있을 수 뿐이 없었다.
이제 기업은 비즈니스와 IT 목표를 달성하기 위한 광범위한 운영 환경에 더 나은 자바 애플리케이션의 확장성, 탄력성 그리고
운영을 실현하기 위해서는 Azul Zing Java 와 같은 새롭고 혁신적인 자바 기술을 검토해야 한다.
Azul Zing 자바플랫폼은 부서 수준의 애플리케이션에서 대용량 미션 크리티컬 애플리케이션까지
모든 종류의 자바 애플리케이션이 가상화 및 클라우드 컴퓨팅환경에서 운영될 수 있는 자바 환경을 제공한다.
지금까지는 대용량 메모리를 사용하는 애플리케이션 구축 시 애플리케이션 아키텍트나 개발자들이 힙 크기를 작게 나누어 다수의 인스턴스로 분산하여 저장하는 방법들에 대해 관심을 가져왔다.
Zing 자바 플랫폼은 단일 인스턴스에서 일정한 응답시간을 준수하면서도 수백기가의 힙을 처리할 수 있도록 하여 더 이상 대규모 힙에 대한 분산 방안에 대한 고민할 필요가 없게 되었다.
지금부터 Zing VM 과 기존 자바 런타임과의 Benchmark Test 결과를 살펴보자.
Benchmark Test 결과
벤치마크 테스트 환경
- 데모 애플리케이션 : JBoss 애플리케이션 서버 5.1 에서 Liferay portal 쇼핑카트 애플리케이션
- 하드웨어 : dual-socket Xeon 5620 at 2.4GHz with 96GB of memory
- OS : Fedora
비교대상
Azul Zing VM 과 기존 상용 Java VM의 성능을 비교하였으며, Zing VM은 Heap 을 90G 로 하였고
기존 Java VM은 ConcMarkSweepGC로 순차적으로 힙 사이즈를 늘려서 성능을 비교 하였다.
- Azul Zing Java – VMWare Hypervisor , 90+ GB Heap
- 기존 Java VM – 2GB, 3GB, 4GB, 6GB and 20GB Heap , ConcMarkSweepGC
성능기준
부하테스트는 하나의 Java 인스턴스를 사용하여 99.9% 가 5초 이내에 응답을 할 수 있는지 에 대한 SLA기준으로 하였다.
Benchmark Test 결과
아래의 그래프에서 볼수 있듯 이 기존 Java VM은 45 User 에 5초의 응답시간이였으며, Zing VM은 1초 미만으로 800 User를 처리 하였다.
주목할 만한 것은 800 사용자 부하에서 Zing 가비지 수집기는 성능의 손실없이 초당 3.5GB의 가비지을 처리했다.
Reference & Related Links
- Azul’s Zing Elastic Java Runtime for x86 is Generally Available from Today – http://www.infoq.com/news/2010/10/azul_zing_ga
벤치마크 테스트 환경
- 데모 애플리케이션 : JBoss 애플리케이션 서버 5.1 에서 Liferay portal 쇼핑카트 애플리케이션
- 하드웨어 : dual-socket Xeon 5620 at 2.4GHz with 96GB of memory
- OS : Fedora
비교대상
Azul Zing VM 과 기존 상용 Java VM의 성능을 비교하였으며, Zing VM은 Heap 을 90G 로 하였고
기존 Java VM은 ConcMarkSweepGC로 순차적으로 힙 사이즈를 늘려서 성능을 비교 하였다.
- Azul Zing Java – VMWare Hypervisor , 90+ GB Heap
- 기존 Java VM – 2GB, 3GB, 4GB, 6GB and 20GB Heap , ConcMarkSweepGC
성능기준
부하테스트는 하나의 Java 인스턴스를 사용하여 99.9% 가 5초 이내에 응답을 할 수 있는지 에 대한 SLA기준으로 하였다.
JBoss EAP 시작 파라미터 살펴보기: Command Line 파라미터 설명
/in JBoss, Tech Talk/by 오픈마루 마케팅0JBoss EAP 6에서 인스턴스 시작 시, 참조되는 바인딩 주소와 각종 디렉터리를 지정하는 시작 파라미터들에 대해 설명한다.
Drools 6.0 성능 비교: Phreak와 Rete 알고리즘 비교
/in Tech Talk/by 오픈마루 마케팅0Drools 6.0에서는 지금까지의 ReteOO 대신 Phreak ( Lazy Matching)라는 새로운 룰 엔진 알고리즘이 도입되었다.
Apache httpd 비교 – Prefork MPM vs. Worker MPM
/in JBoss, OPENMARU/by 오픈마루 마케팅0Apache HTTPD 2.0 버전에 추가된 MPM 중 가장 많이 사용하는 Prefork MPM과 worker MPM의 차이점을 간단하게 설명합니다.