inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

스레드 컨텍스트 스위칭

342

김남현

작성한 질문수 12

0

안녕하세요.
스레드 개수가 많아지면 컨텍스트 스위칭이 자주 일어나서 해당 비용때문에 서버가 느려진다고 하셨는데요.
만약 코어가 4개이고 스레드 풀 사이즈가 8개 였는데 16개로 늘린다고 가정하겠습니다.
사용자 수는 계속해서 16명씩 들어온다고 했을때 스레드 풀사이즈가 8개거나 16개거나 상관없이 컨텍스트 스위칭 빈도수는 같지 않나요?
어차피 컨텍스트 스위칭이 일어나는 시간은 동일하니까 같을거라 생각하고 있습니다.
또한 스레드 개수가 많아지면 CPU와 메모리 사용량이 증가한다고 하셨습니다. 물론 스레드 풀 사이즈가 8개에서 16개로 늘어나서 대기하는 스레드가 16개 이니까 그만큼 메모리 사용량은 증가할것 같습니다.
그런데 cpu 사용률은 코어 갯수보다 스레드 풀 사이즈가 크고 동시 접속자수도 코어 수보다 계속해서 많으면 스레드 풀 사이즈 증가에 따라 cpu 사용률은 똑같지 않나요? 그리고 cpu 사용률은 높으면 좋은거 아닌가요?
물론 여기서 스레드 갯수가 많아짐에 따라 스레드 하나만 봤을때 해당 스레드가 cpu에 할당되기 까지의 시간이 길어지니까 응답시간은 낮아져서 문제가 발생할거 같긴 합니다.
너무 헷갈리는 개념인것 같습니다 ㅠㅠ
늘 좋은 강의 감사합니다.

MVC spring

답변 1

1

김영한

안녕하세요. 김남현님

만약 코어가 4개이고 스레드 풀 사이즈가 8개 였는데 16개로 늘린다고 가정하겠습니다.

사용자 수는 계속해서 16명씩 들어온다고 했을때 스레드 풀사이즈가 8개거나 16개거나 상관없이 컨텍스트 스위칭 빈도수는 같지 않나요?

-> 컨텍스트 스위칭 빈도수가 더 늘어납니다.

풀 사이즈가 8개이면 8/4 -> 2번

풀 사이즈가 16개이면 16/4 -> 4번

그런데 cpu 사용률은 코어 갯수보다 스레드 풀 사이즈가 크고 동시 접속자수도 코어 수보다 계속해서 많으면 스레드 풀 사이즈 증가에 따라 cpu 사용률은 똑같지 않나요? 그리고 cpu 사용률은 높으면 좋은거 아닌가요?

-> 컨텍스트 스위칭도 계산이 필요합니다. 그리고 CPU 자원은 무제한이 아닙니다.

컨텍스트 스위칭 비용은 최적화가 잘 되어 있습니다. 실무에서 주로 문제가 되는 부분은 쓰레드가 데이터베이스 조회, 외부 네트워크 등을 호출하면서 block 되는 부분이 주로 문제가 됩니다. 따라서 적절한 쓰레드 숫자를 확보하는 것이 필요합니다.

감사합니다.

mvc 패턴 - 적용 강의에서 회원가입할 때 redirect가 아닌 forward인 이유가 궁금합니다.

0

29

1

servlet과 container에 대한 질문입니다

0

54

1

api를 어느 컨트롤러에 작성해야하는지는 어떤 기준으로 해야하나요?

0

84

1

jsp 의존성 수정 요청

0

120

2

요즘 웹 서버가 주로 사용되는 이유는 SPA 구조 때문일까요 ?

0

157

1

save() 메서드 문의

0

77

1

절대 경로로 templates/basic 하위 파일 열면 css 적용 안되는 현상

0

111

1

request-body-json

0

94

2

MVC 패턴의 적용 단위

0

103

1

RequestMapping을 이용한 핸들러, 어댑터

0

124

2

save 후 결과화면

0

100

2

jsp를 이용한 view

0

102

1

application.properties에 debug 추가해도 결과가 똑같습니다.

0

189

1

수업 코드 제공 관련 문의

0

106

2

RequestMappingHandlerAdapter의 Controller 호출 과정

0

109

3

파일 오픈 시

0

75

1

스프링 배치 관련

0

81

1

@RequestParam의 defaultValue가 blank 값도 처리하는 지 여부

0

115

1

postman으로 /request-body-json-v1 호출시 500 error

0

105

1

프론트엔드와 백엔드의 mvc, rest api에 대한 질문

0

88

1

모델의 역할과 계층 분리에 대한 이해 차이 + 추가질문

0

118

1

console log 출력 관련 질문입니다.

0

79

1

애플리케이션이 실행 되지 않습니다 ㅠㅠㅠ

0

146

1

html 변경하는 부분 적용 문제

0

108

1