Java (Quarkus) vs. Go (Golang): Performance Benchmark in Kubernetes
- Quarkus 프레임워크는 Kubernetes 환경에 최적화되어 낮은 메모리 사용량과 빠른 애플리케이션 시작 시간을 제공하며, GraalVM JDK를 사용하여 네이티브 코드로 컴파일하여 이러한 효율성을 달성하는. 🛠️
- Golang Fiber 프레임워크는 Golang에서 가장 성능이 높은 프레임워크 중 하나로, Java의 Quarkus와 유사하게 높은 성능 애플리케이션 개발에 사용된다. 🚀
- 요청 지연 시간을 측정할 때 평균 지연 시간보다는 p50, p90, p99 등의 분位수를 사용하는 것이 더 정확하고 실제 사용자 경험을 반영하기 때문에 중요하다. 📈
- 테스트는 Simple REST API, /health 에нд포인트, 파일 업로드 및 데이터베이스 쓰기와 같은 실제 세계 사용 사례를 포함하여 Java와 Go 애플리케이션의 성능을 측정한다. 💻
- Prometheus 통계 수집 및 Grafana를 사용하여 애플리케이션 성능, CPU 사용량, 메모리 사용량을 모니터링하고 시각화한다. 📊
- 공개 클라우드 환경에서 급성장 및 축소를 가능하게 하기 위해 클라우드 환경에 최적화된 애플리케이션이 필요하며, 빠른 시작 시간과 소형 이미지 크기는 빠른 확장을 위해 중요하다. ☁️