본문 바로가기
관련_배경_지식

멀티쓰레드 / SSR / CSR

by Lcoding 2023. 11. 23.
반응형

멀티쓰레드 - 동시요청

 

멀티쓰레드 개념을 알기위해서는 프로세스와 쓰레드에 대하여 알아야하는데, 프로세스와 쓰레드의 개념은 다음과 같다.


프로세스- 프로그램을 실행하는것


쓰레드 - 프로그램내에서 애플리케션 코드를 순차적으로 실행하는것
            - 쓰레드는 한번에 한줄씩 코드를 실행한다

 

멀티쓰레드(동시요청)에 대해 알아보자면, 동시요청을 처리하기위해 WAS에서는 쓰레드풀을 관리한다.

- 톰캣 기준 쓰레드풀의 디폴트 값은 200개이다. [ 톰캣맥스커넥션으로 변경할 수 있다.]
- 쓰레드 풀에 대기중인 쓰레드가 없다면 새로운 요청을 특정 개수 만큼 대기시키고 나머지는 거절할 수도 있다.

주의사항 - max Thread의 값이 너무 낮으면 서버리소스는 여유롭지만 값을 초과하는 요청은 계속 대기하게 되며, 
                  반대로 max Thread의 값이 너무 높으면 CPU 등 리소스 초과로 서버가 다운될 수 있다.  

 

적정 개수의 쓰레드풀을 알려면?
적정 쓰레드 풀 숫자를 찾으려면 네이버의 nGrinder를 이용하여 서버가 감당할 수 있는 트래픽을 체크할 수 있다. 

이러한 멀티쓰레드 부분은 WAS에서 다 처리해주므로 실 개발시에 개발자는 적당한 개념정도만 알고 있고 신경쓰지 않아도 된다 그러나 빈이나 서블릿이 싱글톤 객체라는것은 명심하며 전역 변수에 대하여는 주의해서 사용하여야한다.


---------------------------------------------------------------------------------------------------------------------------------------------------------------

SSR - 서버 사이드 렌더링
- HTML최종 결과를 서버에서 만들어서 웹브라우저에 전달하고 브라우저는 받은 결과를 출력하기만 한다. 

- [ 주로 정적인 화면에 사용한다 ]
- JSP / 타임리프등

CSR - 클라이언트 사이드 렌더링
-  HTML 결과를 JS를 사용하여 웹 브라우저에서 동적으로 생성하여 사용한다. 

-  [ 주로 동적인 화면에 사용한다 ]
-  React / Vue.js / Nexacro 등

반응형

# 로딩 화면 동작 코드(Code) 설정하기
loading