Development of a High Performance Web Server Using A Real-Time Compression Architecture

실시간 압축 전송 아키텍쳐를 이용한 고성능 웹 서버 구현

  • Published : 2004.03.01

Abstract

In these days, such services are popularized as E-commerce, E-government, multimedia services, and home networking applications. Most web traffics generated contemporarily basically use the Hyper Text Transfer Protocol(HTTP). Unfortunately, the HTTP is improper for these applications that comprise significant components of the web traffics. In this paper, we introduce a real-time contents compression architecture that maximizes the web service performance as well as reduces the response time. This architecture is built into the linux kernel-based web accelerating module. It guarantees not only the freshness of compressed contents but also the minimum time delay using an server-state adaptive algorithm, which can determine whether the server sends the compressed message considering the consumption of server resources when heavy requests reach the web server Also, We minimize the CPU overhead of the web server by exclusively implementing the compression kernel-thread. The testing results validates that this architecture saves the bandwidth of the web server and that elapsed time improvement is dramatic.

현재 인터넷은 HTTP 프로토콜을 중심으로 구성되어 있다. 전자상거래, 전자정부, 인터넷 멀티미디어, 흠 네트워킹 등 현재 인터넷으로 가능한 서비스는 점점 증가하고 있지만, 비교적 단순한 메시지의 전송에 기반 해 설계된 HTTP가 현재의 이러한 복잡한 서비스와는 적합하지 않는 경우도 있다. 즉, 점점 더 다양해지는 서비스로 인해, 서버 쪽에서는 클라이언트당 점점 더 많은 양의 데이터를 전송하게 되는 것이다. 이러한 웹 서버 측의 메시지 전송 부담과 전송 시간, 대역폭의 절감을 위해서, HTTP 프로토콜의 압축전송헤더를 이용한 실시간 압축 전송 아키텍쳐를 개발하였다. 이를 이용하여, 정적 페이지를 실시간으로 압축/전송함으로써, 웹 서버 측의 대역폭을 절감하였고, 전송속도를 증가시켰다. 또한, 상대적으로 CPU 집중적인 압축연산을 커널 영역에서 수행하여, 압축연산으로 인한 서버 측의 CPU 자원사용을 최소화하였다.

Keywords