메뉴 건너뛰기
.. 내서재 .. 알림
소속 기관/학교 인증
인증하면 논문, 학술자료 등을  무료로 열람할 수 있어요.
한국대학교, 누리자동차, 시립도서관 등 나의 기관을 확인해보세요
(국내 대학 90% 이상 구독 중)
로그인 회원가입 고객센터 ENG
주제분류

추천
검색

논문 기본 정보

자료유형
학위논문
저자정보

김수완 (고려대학교, 고려대학교 대학원)

지도교수
유혁
발행연도
2020
저작권
고려대학교 논문은 저작권에 의해 보호받습니다.

이용수1

표지
AI에게 요청하기
추천
검색

이 논문의 연구 히스토리 (2)

초록· 키워드

오류제보하기
최근 네트워크 트래픽의 대부분은 짧은 연결이 차지한다. 이러한 네트워크 환경에서는 TCP 연경 요청이 많이 일어나는데 이로 인해 긴 연결이 많은 네트워크 환경보다 처리하는 데이터 양이 적고 커널이 많은 CPU를 소모해, 유저 프로그램이 CPU 자원을 충분히 받지 못하는 문제가 발생한다. 따라서 본 연구는 짧은 연결이 많은 네트워크 환경에서 TCP 연결 성능을 개선해 유저 프로그램의 성능을 향상시키는 것을 목적으로 한다. 이를 위해서 본 연구는 빈번하게 연결 요청을 하는 클라이언트의 커널 내부 TCP 3-way handshake 관련 구조체를 캐싱해서 해당 클라이언트가 연결 요청을 할 때마다 캐싱한 구조체를 사용하도록 설계했다. 이러한 설계는 서버가 TCP 연결 요청을 처리할 때마다 새로운 3-way handshake 관련 구조체를 생성하는 오버헤드와 초기화 과정을 거치는 오버헤드를 줄여서 TCP 연결 성능을 향상시킨다. 본 연구 설계를 Nginx 웹서버에 적용해 짧은 연결의 네트워크 환경에서 성능 실험을 한 결과, Nginx 웹서버의 초당 HTTP 연결 처리량을 기존 리눅스 대비 최대 25%까지 개선했다.

목차

1. 서론 1
2. 배경지식 5
2.1. 리눅스 커널 네트워크 관련 구조체 설명 5
2.1.1. struct sock 5
2.1.2. struct request_sock 6
2.1.3. struct sk_buff 7
2.2. 리눅스 커널 네트워크의 TCP 연결 수립 과정 7
2.2.1. Listen sock 8
2.2.2. Accept 큐 9
2.2.3. Child sock 9
3. 커널 네트워크 스택 및 TCP 계층 오버헤드 분석 및 관련 연구 11
3.1. 분석 실험 환경 11
3.2. 네트워크 스택의 CPU 사용률 분석 12
3.3. TCP RX 계층 병목 분석 17
3.4. 관련 연구 19
4. 설계 22
4.1. 설계 목표 22
4.2. 설계 구조 23
4.3. 설계 구성 요소 25
4.3.1. Connection History Map 25
4.3.2. Per-core Hash Table 26
4.3.3. Free Timer 28
5. 실험 및 평가 30
5.1. 실험 환경 30
5.2. 마이크로 벤치마크 31
5.3. 웹서버 어플리케이션 성능 측정 34
6. 결론 및 향후 연구 방향 40
참고 문헌 41

최근 본 자료

전체보기

댓글(0)

0