IT 기술 및 용어
-
[개발용어] 오버헤드(OverHead)란?IT 기술 및 용어/IT 용어 정리 2024. 3. 7. 17:27
오버헤드(Overhead)에 대한 정리1. 오버헤드의 정의위키의 정의:명령어를 처리하는 데 소비되는 간접적, 추가적인 컴퓨터 자원을 의미.일반적인 정의:작업 대비 많은 양의 자원을 사용하는 경우.작업에 추가적인 작업이나 자원을 사용하는 경우.2. 오버헤드의 사례(1) 작업 대비 많은 자원 사용예시:저녁식사 준비를 위해 마트에서 다양한 식재료 구매 → 적절한 오버헤드.껌 한 통 구매를 위해 멀리 떨어진 마트를 방문 → 비효율적 오버헤드.설명:작업 규모에 비해 과도한 자원을 사용하는 상황을 오버헤드가 크다고 표현.(2) 추가적인 작업이나 자원 사용예시:기능 A의 실행 시간: 10초.기능 A의 안전성 문제를 해결하기 위해 기능 B를 추가(5초 소요).오버헤드 = 5초.설명:주 작업에 추가적으로 필요한 작업과 ..
-
자바의 쓰레드풀(ThreadPoolExecutor)의 원리IT 기술 및 용어/IT 면접 관련 지식 2024. 3. 7. 17:10
자바 쓰레드(Thread) 사용 1. 기본 개념멀티유저 지원:서버는 동시에 여러 사용자가 접속 가능한 구조.자바는 운영체제의 쓰레드를 활용하여 다중 접속을 지원.문제점:요청마다 새로운 쓰레드를 생성하면 운영체제 자원이 고갈될 위험.동시 접속 사용자가 많아지면 서버 다운 가능성 증가. 2. Thread Per Request Model - API 요청 방식정의:요청(Request)마다 하나의 쓰레드를 생성하여 처리하는 방식.Request와 Thread가 1:1 매칭.문제점:쓰레드 생성 소요 시간 → 요청 처리 지연.요청 증가 → 쓰레드 수 증가 → 과도한 Context Switching 발생.CPU 오버헤드 증가 및 CPU 시간 낭비.메모리 고갈 및 서버 응답 불가 상태 초래.위와 같은 문제를 해결하기 위해..