# Thread Pool

Scalability Test - Thread Pool, DBCP 적정 설정값 찾기.
0. 이전 포스트 이전 포스트 이전 포스트에서 테스트 시나리오, 테스트 장애지점, 테스트 병목원인에 대해서 분석하여습니다. 이번 포스트에서는 해당 병목을 해결하기 위해서 Thread pool, DBCP적정 값을 설정해보려고 합니다. 1. Thread pool 1-1

DBCP Deadlock 트러블 슈팅과 GenerationType.AUTO(Thread Dump)
Tomcat Thread Pool max size, DBCP maximumPoolSize를 조정하여 JMeter를 통해 테스트를 해보던 중 다음과 같은 예외가 발생하며 요청이 정상적으로 처리되지 못하는 문제가 발생했다.해당 사항과 같은 문제를 찾아보면서 우아한 형제들의

Perfomance Test - 백엔드 아키텍처 병목 확인.
Load TestingLoad Testing은 부하가 임계치(Threshold Value)에 도달할 때까지 시스템의 부하를 지속적으로 증가시키면서 시스템을 확인하는, Performance Testing의 한 유형입니다. 여기서 부하를 증가시킨다는 것은, 동시단말사용자(

Java Thread Pool 동작 원리
몇 년 전까지만 해도 직접 쓰레드를 생성하고 해제 해야하는 책임을 가지는 플랫폼에서 주로 개발을 했습니다. 자바 언어로 넘어오면서 쓰레드 풀이라는 개념을 접하게 되었는데, 처음 쓰레드 풀을 접하고 사용 상의 문제는 없었지만 내부 동작을 모르니 어딘지 모르게 찝찝한 부분
쓰레드 풀 생성 및 처리 메커니즘과 효율적인 쓰레드 관리, NIO Connector (feat. Tomcat 9.0)
멀티쓰레드 환경, 쓰레드 풀 활용 애플리케이션에서 어떻게 해야 트래픽 처리를 할 수 있는걸까?
동시 요청
Servlet - 동시 요청 멀티쓰레드 처리를 지원함응답속도 감소와 Context Switching 비용도 생각을 해야함제한이 없는 경우에 CPU, 메모리 임계점을 초과해서 서버가 다운될 가능성도 존재함.위의 단점을 보완하기 위해서 미리 쓰레드를 생성하고 풀에 대기시켜
Thread Pool
스레드 풀은 대기열(Queue), 작업 처리 스레드(thread)로 구성됩니다. 큐는 작업이 들어오면 대기하는 곳입니다. 스레드는 큐에 들어온 작업을 하나씩 처리하는 역할을 합니다.여러 개의 스레드를 미리 생성하고 유지하는 것으로, 작업이 들어올 때 마다 스레드를 할당

[Nginx] 1995년 역사부터 뜯어보는 Nginx : 등장배경부터 내부 메커니즘까지
1995년부터 시작하는 Apache 서버의 등장과 한계점, 그리고 Nginx 의 등장과 내부 메커니즘을 "깊게" 이해하는데 초점을 두었습니다 🧐
서버 최적화 & 데이터 마이그레이션 작업 - 3 : DB 최적화
안녕하세요 오늘은 DB 최적화 작업을 진행하면서 배운 내용들에 대해 포스팅해보려고 합니다ㅎㅎ저번에 DB 마이그레이션 작업과 API 서버 최적화 작업 이후 여전히 쿼리 실행 속도가 안정적이지 않고 10시에 많은 동접자들이 접속함에 따라 쿼리 로딩이 심한 현상이 발생하셨습

[Spring] Thread Pool 사용하기(feat. Scheduler)
앞의 글에서 스프링에서 스케줄링 하는 내용을 다뤘는데, 스케줄링으로 실행되어야 할 기능이 여러개 일 경우에는 한 가지 더 고려해야하는 것이 있다.바로 Thread Pool이다.위의 코드를 봤을 땐 test1()이 한번 시행될 때 test2()가 10번 시행되어야 할 것
SpringBoot에서 Thread 풀ㄹㄹㄹㄹ 건드려보기
스레드 풀이 무엇이고 자바에서 스레드 풀을 가지고 어떻게 스레드를 관리하는지 알아보자 Executor와 스레드 풀 자바 5는 자바 프로그래머가 태스크 제출과 실행을 분리할 수 있는 기능을 제공했다. 스레드의 문제 - 스레드 풀을 사용해야 하는 이유 자바 스레드는 직접 운영체제 스레드에 접근한다. 운영체제 스레드를 만들고 종료하려면 비싼 비용을 치러야...
[Java]스레드풀(Thread Pool)
병렬 작업 처리가 많아지면 스레드 개수가 증가하고, 그에 따른 스레드 생성과 스케줄링으로 인해 CPU가 바빠져 메모리 사용량이 늘어난다. -> 애플리케이션 성능 저하👉갑작스런 병렬 작업의 폭증으로 인한 스레드의 폭증을 막기위해 스레드풀(ThreadPool)사용스레드풀

Thread/Thread Pool (쓰레드 풀)
코드를 순차적으로 하나씩 실행하는 것한 번에 한 줄의 코드만 수행동시 처리가 필요하다면 쓰레드를 추가로 생성해야 함쓰레드를 생성하는 cost가 매우 비쌈 (요청마다 쓰레드를 생성하면 응답 속도가 늦어짐)컨텍스트 스위칭 비용 발생CPU, 메모리 임계점을 넘은 쓰레드 생성

Nginx란? (내부 동작 구조 및 성능에 대하여)
0. 이 글을 쓰는 이유 > 회사에서 Nginx 관련 이슈가 생겼고, 이를 해결하기 위한 방법은 알게되었지만, 내부적으로 자세한 이유는 몰랐다.그냥 그렇구나 하고 넘어갔기 때문에, Nginx가 무엇인지, 왜 등장했는지, 어떻게 동작하는지, 다른 모델과 어떤 차이점이

[Java] Thread - 4 Thread Pool
스레드풀은 병렬 처리 작업이 늘어남에 따라 애플리케이션에 발생할 수 있는 과부화를 방지하기 위해 스레드의 수와 작업을 관리하는 풀이다.

자바에서의 Thread Pool
thread pool을 알아야 문제가 발생했을 때 트러블 슈팅을 할 수 있을 것이다. 어떤 원리로 돌아가는지 아는 것이 트러블 슈팅의 첫걸음 🥾Thread의 create(속도 저하의 원인)을 줄이기 위해서 thread 들을 모아놓고 job이 도착하면 idle 한 th