한것 - Process - Thread, Runnable - JVM, GC - Virtual Thread - New InputOutput - Connector - ThreadPool 할것 - Reactive Programming - Kotlin coroutine - Tomcat, Spring에서 Thread동작 자세히 파보기 - Tomcat, Spring에서 Virtual Thread동작 자세히 파보기

전체 글

개요 개발 공부를 시작할 때, 서버에서 사용하는 자원을 줄여야 한다는 사실은 누구나 알고 있습니다. 하지만, 이제 막 공부를 시작했다면 서버의 처리량이 얼마나 되는지, 내가 리팩토링을 했을 때 처리량이 얼마나 늘어나는지 확인할 수단이 마땅찮을 것입니다. 이 때 사용할 수 있는 소프트웨어가 바로 Jmeter, nGrinder입니다. 이번 글에서는 Jmeter를 이용해 HTTP Request를 임의로 서버로 전송함으로, 스트레스 테스트를 진행하는 방법을 알아보겠습니다. 다운로드 사용법은 매우 간단합니다. 공식 링크 - https://jmeter.apache.org/download_jmeter.cgi 위의 링크에 접속하여, apache-jmeter-5.6.2.zip파일을 다운로드 받습니다. 압축을 푼 뒤, b..

개요 Java에서는 동시성 프로그래밍을 위해 Thread Class를 지원합니다. 이 Thread는 우리가 CS를 공부할 때 배웠던 Process, Thread의 Thread를 Java에서 구현한 것입니다. Thread를 사용하면 Process보다 많은 자원을 절약할 수 있습니다. 하지만, Thread를 그냥 사용한다면 많은 오버헤드가 발생합니다. Thread는 Kernel Thread, User Thread라는 두 종류가 있습니다. JVM은 User Thread를 Kernel Thread하나와 매칭하여 동작시킵니다. 따라서, Java로 Thread객체를 만들 때 Kernel단에 갔다 와야 할 것입니다. 그렇게 되면, System call, Interrupt, ISR등의 과정을 거쳐야 하기 때문에 비용이..