• 제목/요약/키워드: Epoll

검색결과 2건 처리시간 0.017초

JPE : AJAX 기반의 비동기 통신을 지원하는 Java Push Engine (JPE : Java Push Engine Supporting Asynchronous Communication Based on AJAX)

  • 박종은;권오진;이홍창;이명준
    • 한국정보통신학회논문지
    • /
    • 제15권3호
    • /
    • pp.660-672
    • /
    • 2011
  • 정보를 공유하기 위하여 널리 이용되는 웹은 클라이언트-서버 모델을 사용한다. 클라이언트-서버 모델은 클라이언트의 명시적인 요청을 통하여 서버가 응답하는 방식으로서 오늘날의 급변하는 인터넷 정보를 효과적으로 제공하기에는 많은 어려움이 따른다. 서버 푸시는 클라이언트-서버 모델 기반의 웹에서 클라이언트의 요청이 없더라도 서버가 능동적으로 정보를 제공할 수 있는 통신 기술이다. 이러한 서버 푸시 기술을 구현하기 위하여 다양한 연구가 이루어지고 있지만 푸시 어플리케이션의 효과적인 개발을 지원하는 푸시 엔진의 부재로 많은 어려움이 따르고 있다. 본 논문에서는 인터넷에서 서버 푸시 서비스를 효과적으로 제공하도록 지원하는 Java Push Engine인 JPE의 개발에 대하여 기술한다. JPE는 Epoll을 지원하는 JPE 코어와 비동기 통신을 지원하는 JPE 라이브러리로 구성된다. 그리고 JPE는 다양한 푸시 기능을 정의하고 이를 지원하는 프로그래밍 인터페이스를 제공한다. JPE를 이용하여 개발된 푸시 어플리케이션은 Epoll 기법을 이용하여 클라이언트 연결을 효과적으로 처리하며, Ajax 기반의 비동기 통신을 통하여 다양한 푸시 서비스를 제공한다.

자료 구조 재사용을 이용한 리눅스 TCP 네트워킹 성능 개선 (A Performance Improvement of Linux TCP Networking by Data Structure Reuse)

  • 김석구;정규식
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제3권8호
    • /
    • pp.261-270
    • /
    • 2014
  • 최근 인터넷 트래픽이 증가하면서 웹 서버의 성능 향상에 많은 노력들을 기울여왔다. 고사양 하드웨어로의 교체 또는 서버 수의 증설과 같은 하드웨어 측면 해결방법 외에 소프트웨어 측면의 해결 방법들이 있는데 최근 이에 대한 연구들이 활발히 진행되고 있다. 본 논문에서는 기존 TCP 네트워킹 수신과정에서 발생하는 성능 저하 문제점들을 파악하고 이를 해결할 수 있는 방법을 제안한다. 리눅스 TCP 네트워킹 성능 개선에 관한 기존 방법 세 가지와 본 논문에서 새로 제안하는 두 가지 방법을 통합 적용하여 성능을 향상시킨다. 기존 개선 방법들로는 멀티코어 환경에서 패킷을 흐름단위로 코어에 할당하는 방법, 과도한 인터럽트 요청을 조절하는 ITR(Interrupt Throttle Rate) 방법, sk_buff 자료구조 recycling 방법이다. 본 논문에서 새로 제안하는 방법은 fd 자료구조 recycling 방법과 epoll_event 자료구조 recycling 방법이다. 웹 서버 환경에서 실험을 통해 본 논문의 제안방법들의 성능 개선효과, 또한 기존방법들과의 통합 적용했을 경우 성능 개선효과를 검증한다. 웹 서버로는 간단한 웹 서버, 리눅스에서 일반적으로 사용하는 Lighttpd와 Apache 웹 서버를 사용한다. 간단한 웹 서버 환경에서 본 논문에서 제안한 fd 재사용과 epoll_event 재사용을 적용할 경우 성능이 각각 7%와 6% 개선되고, 이 두 가지 방법을 기존의 세 가지 방법과 통합하여 적용한 경우 성능이 총 40%까지 개선된다. Lighttpd와 Apache 웹 서버 환경에서 다섯 가지 통합 방법을 적용한 경우 성능이 각각 총 36%, 20%까지 개선된다.