검색 상세

Jasper 엔진 기반 동적 리소스 감소에 따른 서블릿 실행 성능 개선에 관한 연구

A Study on the Improvement of Servlet Execution Performance by Jasper Engine-Based Dynamic Resource Reduction

초록

웹 서비스의 시장이 비대해짐에 따라 웹 기술은 끊임없이 발전하고 웹 사이트의 구조는 복잡해지고 있다. 복잡해지는 사이트 구조만큼 웹 사이트의 리소스 크기도 증가하고 있으며 이것은 웹 서비스의 성능 저하와 품질 저하로 이어진다. 개발자들은 이러한 성능 저하를 해결하기 위해 웹 사이트의 목표 성능을 정의하고 그것을 달성하기 위하여 시스템의 구조를 반복적으로 개선하고 있다. 이 과정에서 다양한 웹 서비스의 성능 개선 해결책이 등장하였다. HTTP 응답 속도의 성능을 개선하기 위해 가장 많이 고려되는 방법 중 하나는 리소스를 감소시키는 방법이다. Java 기반 WAS를 사용하는 환경에서 서블릿의 동적 리소스 크기를 감소시키는 방법은 바이트코드인 서블릿을 실행하는 JVM이 더 적은 객체를 메모리에 로드하고 실행한다는 관점에서 CPU의 성능 부담을 줄일 수 있다. 나아가 HTTP의 응답 속도는 서블릿의 코드가 수행하는 동적 콘텐츠의 실행 시간을 포함하므로 HTTP 성능에 영향을 끼칠 수 있다. 본 논문에서는 Jasper 엔진을 이용하여 서블릿 안에서 중복으로 호출되는 동적 리소스를 어느 정도 제거할 수 있는지를 살펴보고, 그에 따라 JVM의 Runtime Data Area 메모리 영역에 할당되는 객체의 호출 감소 추이가 어느 정도인지 살펴본다. 서블릿의 동적 리소스를 감소시키는 것은 더 적은 객체를 Stack 메모리에 할당시키는 것이며 Thread가 더 적은 객체를 서블릿에서 Read/Write 하는 것이므로, 따라서 동적 리소스 감소 전 대비 HTTP 응답 속도는 개선될 것이다. 이때 개선되는 HTTP 응답 속도를 부하 테스트를 이용하여 TPS와 MTT값을 측정하여 평가한다. 나아가 부하 테스트 과정에서 하드웨어 리소스 사용률의 변화를 측정하고 이것이 HTTP 응답 과정에서 어느 정도 비중을 차지하는지 확인한다. 마지막으로 실험 결과를 토대로 더 나은 성능의 웹 서비스를 구현할 수 있는 방법에 대해 정리한다.

more

초록

The market for web services continues to be bloated and web technology is constantly evolving. Accordingly, the structure of the website is becoming complicated. The size of resources on the website is increasing as much as the complex site structure. This leads to poor performance and quality of web services. To find a solution of this degradation, developers are defining the target performance of a website and repeatedly improving the structure of the system. In this process, various performance improvement solutions emerged. One of the most frequently considered methods to improve the performance of HTTP response rates is to reduce resources. In environments using Java-based WASs, reducing the dynamic resource size of servlets can reduce the performance burden of CPU from the perspective that the JVM running the servlet loads and executes fewer objects in memory. Furthermore, since the response speed of HTTP includes an execution time of dynamic content, it affects HTTP performance. This study check how much dynamic resources used multiple times can be eliminated using the Jasper engine. And this study identifies how little objects are allocated to JVM's Runtime Data Area memory. Reducing the dynamic resources of the servlet is allocating fewer objects to Stack memory, and since Thread reads/writes fewer objects from the servlet, the HTTP response rate will be improved compared to before the dynamic resource reduction. At this time, the improved HTTP response speed is evaluated by measuring the TPS and MTT values using the load test. Furthermore, the change in hardware resource utilization during the load test process is measured. And check how much this affects the HTTP response process. Finally, based on the experimental results, we summarize how we can implement web services with better performance.

more