23년 2학기 학교공부/컴퓨터네트워크 (40) 썸네일형 리스트형 [CN] Fast HTTP Server HTTP Server의 성능을 높이는 방법 1. backlog 조정 backlog란 ,, backlog가 낮으면 서버가 왜 느릴까? 📁 Apache MPM (Multi-Processing Modules) Apache 웹 서버의 성능을 높이는 결정적 요소 중 하나이다. multi processing / threading server를 파이썬으로 구현해보자. 1. Multi processing server import os import socket import sys import time import multiprocessing # HOST가 공백인 것은 루프백 주소로 자기자신을 의미. HOST = '' PORT = 8080 def worker(conn, addr) : with conn: print(f'Co.. [CN] locust로 서버 성능 테스트하기 (파이썬) 📁 Locust 가장 유명한 도구 중하나인 locust. locust라는 도구를 이용하면 가상의 클라이언트 n개를 만들고 그 가상의 사용자들이 우리의 웹서버로 get post delete같은 요청을 하는 일련의 테스트 과정을 만들 수 있음. 📁 Locust 설치 방법 (윈도우) 📁 Stress test vs. Load test 스트레스 테스트는 극한의 환경들, 추운 환경, 더운 환경, 먼지가 많은 환경에서 어떻게 동작하는가, 그런 곳에서 에러 컨트롤이 되는가를 보는 것. 이럴때는 보통 에러 메세지를 보고 시스템을 복원하는 등의 작업을 함. Load test는 하나의 PC, 우리의 서버가 몇명까지 서빙이 되고 케어할 수 있는가를 봄. 그래서 사용자 수, 동시 접속자 수, 응답 속도 등을 봄. 📁 locus.. [CN] 통신 계층과 식별자 f 2023학년도 2학기 충남대학교 이영석 교수님의 컴퓨터네트워크 수업 정리자료입니다. 📁 OSI 계층과 대표적인 프로토콜 및 식별자 초기 OSI는 7계층으로 이루어져있는데, 통신 프로토콜이 발전함에 따라 이를 더 적은 단계로 묶어 표현하는 통신 모델을 사용하기도 한다. 각 계층마다 대표적인 프로토콜과 주요 식별자는 아래와 같다. 1. 데이터 링크 계층(Physical + Data link, 1+2) - 주요 프로토콜 : 이더넷(Ethernet) - 주요 식별자 : 물리적 주소(MAC 주소) 2. 네트워크 계층(Network, 3) - 대표 프로토콜 : IP, ... - 주요 식별자 : IP주소 3. 전송 계층(Transport, 4) - 대표 프로토콜 : TCP, UDP, ... - 주요 식별자 : Por.. [CN] Socket을 사용해 HTTP Server 열기 (파이썬) 📁 Network Socket network socket이란 네트워크로 데이터를 송수신하는 컴퓨터의 통신의 접점에 위치한 통신 객체다. 양 쪽의 소켓을 연결함으로써 서로 다른 프로세스끼리 데이터를 전달할 수 있다. 소켓을 이용한 네트워크 프로그래밍은 소켓 연결 및 데이터 송수신을 위한 소켓 함수 몇가지를 사용한다. 일반적인 서버의 흐름은 다음과 같다. socket() : 소켓을 생성한다. bind() : ip와 port번호를 설정하여 소켓에 적용시킨다. listen() : 클라이언트 요청을 대기하는 상태가 된다. 클라이언트 요청에 대기열을 만들어 몇 개의 클라이언트를 대기시킬지 결정한다. accept() : 클라이언트와 연결한다. 서버에 접속한 클라이언트와 통신할 수 있는 새로운 소켓을 생성한다. sen.. [CN] Docker로 웹 서버 구축하기 (Window) 📁 Docker Docker란 chroot 등을 활용하여 제작된 Container 관리 도구이다. Image는 [CN] Wireshark 패킷 캡쳐 [CN] HTTP의 버전 2023학년도 2학기 충남대학교 이영석 교수님의 컴퓨터네트워크 수업 정리자료입니다. 📁 HTTP의 발전 현재는 HTTP/1.1 이상 버전만 사용중이다. 📁 HTTP/1.0 HTTP/1.0 버전은 객체를 하나 전송할때마다 GET 메소드 한번, TCP 연결 한번으로 1:1 연결 방식을 사용했다. 객체는 웹페이지를 이루는 요소들이므로, 위와 같이 연결하게되면 웹페이지 하나에 여러개의 TCP 연결이 사용된다. 이때 TCP 연결을 만드는데 왕복지연시간 문제가 발생하며, non-persistent HTTP라고 부른다. TCP는 서버와 클라이언트를 연결해야하는데, 만약 서버가 바다 건너 있다면 객체 하나를 불러오는데 바다를 한번씩 건너야 해서 전파지연시간이 오래 걸릴 수 있는 것이다. 📁 HTTP/1.1 위 1.0 .. [CN] HTTP란? 2023학년도 2학기 충남대학교 이영석 교수님의 컴퓨터네트워크 수업 정리자료입니다. 📁 HTTP (Hyper-text transfer Protocol) HTTP란, Socket을 이용한 웹페이지 전송 프로토콜을 말한다. 기본적으로 클라이언트와 서버가 먼저 TCP socket을 생성한 후, 클라이언트가 서버로 HTTP request를 보내면, 서버는 클라이언트에게 HTTP response와 요청 객체를 전송하는 구조로, 클라이언트와 서버의 모든 통신은 request(요청)과 response(응답) 구조로 이루어진다. HTTP의 전송 대상인 웹페이지는 객체들의 집합인데, 이때 객체란 HTML file, JPEG image, audio/video file 등 하나의 웹 페이지 안에 들어가는 요소들을 뜻한다. .. 이전 1 2 3 4 5 다음