초록
최근의 웹 환경은 스마트폰과 같은 모바일, 페이스북과 같은 소셜 네트워크의 증가로 인하여 네트워크의 트래픽이 급격히 증가하고 있다. 본 논문에서는 WAS(web application server)의 애플리케이션에서 기존 자바의 단점인 I/O의 블로킹(blocking)과 버퍼에 가비지 컬렉션 (garbage collection)으로 인한 CPU 성능 감소 등의 문제를 NIO (non-blocking IO)의 다이렉트 버퍼와 DMA (direct memory access)를 이용하여 기존 시스템의 웹 응답 속도를 향상시켰다. 우선순위 변동 등으로 상대적으로 데이터 순환이 많은 키값은 조작이 용이한 해시맵에 담아 캐시 우선순위 변경 알고리즘을 적용한다. 용량이 큰 응답 데이터는 속도가 빠른 다이렉트 버퍼에 분리 저장하여 성능을 높인다. 캐시 적중 시와 적중이 안 될 경우의 여러 상황에서의 실험을 통해 본 논문에서 제안한 NIO를 이용한 방법이 많은 성능 향상을 보여줌을 확인할 수 있다.
Network traffic is increased rapidly, due to mobile and social network, such as smartphones and facebook, in recent web environment. In this paper, we improved web response time of existing system using direct buffer of NIO and DMA. This solved the disadvantage of JAVA, such as CPU performance reduction due to the blocking of I/O, garbage collection of buffer. Key values circulated many data due to priority change put on a hash map operated easily and apply a priority modification algorithm. Large response data is separated and stored at a fast direct buffer and improved performance. This paper showed that the proposed method using NIO was much improved performance, in many test situations of cache hit and cache miss.