Development
-
최근에 포스팅을 통해서 성능 테스트의 개념 및 종류를 알아보았으니 이제 실제로 수행해보자.(https://kkang-joo.tistory.com/180) 성능테스트를 실행할만한 다양한 오픈소스 툴이 제공되어지는데그중에 접근성이 좋고, 설정파일도 yml 형식이라 간단해보이는 Artillery를 선택하게 되었다. Artillery의 특징 및 사용 방법을 알아가보자. ArtilleryArtillery는 성능 테스트 및 부하 테스트를 위한 오픈소스 툴Node.js 기반에서 실행API, 웹 애플리케이션, 서버의 성능을 검증하는 데 유용하며, 특히 HTTP, WebSocket, GraphQL, Socket.io, Kinesis 등의 프로토콜을 지원-> Artillery는 가볍고 설정이 간편한 성능 테스트 툴로, ..
[Test] Artillery - 성능테스트최근에 포스팅을 통해서 성능 테스트의 개념 및 종류를 알아보았으니 이제 실제로 수행해보자.(https://kkang-joo.tistory.com/180) 성능테스트를 실행할만한 다양한 오픈소스 툴이 제공되어지는데그중에 접근성이 좋고, 설정파일도 yml 형식이라 간단해보이는 Artillery를 선택하게 되었다. Artillery의 특징 및 사용 방법을 알아가보자. ArtilleryArtillery는 성능 테스트 및 부하 테스트를 위한 오픈소스 툴Node.js 기반에서 실행API, 웹 애플리케이션, 서버의 성능을 검증하는 데 유용하며, 특히 HTTP, WebSocket, GraphQL, Socket.io, Kinesis 등의 프로토콜을 지원-> Artillery는 가볍고 설정이 간편한 성능 테스트 툴로, ..
2025.03.25 -
Application Server를 개발하고 운영배포를 앞두고 있는 상황에서 해당 Application이 어느 정도의 트랙픽을 감당할 수 있는지 측정이 필요하다. 이러한 지표를 확인하기 위해서 성능테스트를 이용할 수 있다. 성능 테스트 (Performance Test)목적: 시스템의 응답 시간, 처리 속도, 리소스 사용량(CPU, 메모리, 네트워크 등)을 측정하여 성능을 평가하는 테스트 성능 테스트에는 다양한 종류가 존재한다. 부하 테스트, 스트레스 테스트, 스파이크 테스트.. 각각의 종류는 뒤에서 차근차근 알아가 보자. 많은 개발자들이 목표하는 Application은 "많은 사람이 사용해도 API 응답이 빠르고 안정적"인 것이다. 하지만, 이러한 목표는 정략적으로 측정되지 않는 모호한 기준이다. 이러..
성능테스트 개념 및 종류Application Server를 개발하고 운영배포를 앞두고 있는 상황에서 해당 Application이 어느 정도의 트랙픽을 감당할 수 있는지 측정이 필요하다. 이러한 지표를 확인하기 위해서 성능테스트를 이용할 수 있다. 성능 테스트 (Performance Test)목적: 시스템의 응답 시간, 처리 속도, 리소스 사용량(CPU, 메모리, 네트워크 등)을 측정하여 성능을 평가하는 테스트 성능 테스트에는 다양한 종류가 존재한다. 부하 테스트, 스트레스 테스트, 스파이크 테스트.. 각각의 종류는 뒤에서 차근차근 알아가 보자. 많은 개발자들이 목표하는 Application은 "많은 사람이 사용해도 API 응답이 빠르고 안정적"인 것이다. 하지만, 이러한 목표는 정략적으로 측정되지 않는 모호한 기준이다. 이러..
2025.03.15 -
서비스를 개발하며 외부 API를 호출하는 경우가 많이 존재한다.외부 API를 호출할 때 발생하는 timeout 내역들을 정리해 놓고, 다음에 이슈가 발생했을 때 쉽게 기억을 떠올리기 위해서 정리해 두자.Connection Timeout 클라이언트가 서버와 통신을 요청하기 전에 서로 Connection을 맺는 과정을 TCP 통신에서 3 way handshake이라 한다.이 과정에서 일정 시간이 지나 connection을 맺지 못하는 경우에 발생할 수 있는 Timeout이다.Caused by: java.net.SocketTimeoutException: Connect timed out Socket Timeout ~= Read Timeout클라이언트와 서버가 Connection을 맺은 이후에 발생할 수 있다. ..
[Timeout] Timeout 종류 정리(connection, socket, read..)서비스를 개발하며 외부 API를 호출하는 경우가 많이 존재한다.외부 API를 호출할 때 발생하는 timeout 내역들을 정리해 놓고, 다음에 이슈가 발생했을 때 쉽게 기억을 떠올리기 위해서 정리해 두자.Connection Timeout 클라이언트가 서버와 통신을 요청하기 전에 서로 Connection을 맺는 과정을 TCP 통신에서 3 way handshake이라 한다.이 과정에서 일정 시간이 지나 connection을 맺지 못하는 경우에 발생할 수 있는 Timeout이다.Caused by: java.net.SocketTimeoutException: Connect timed out Socket Timeout ~= Read Timeout클라이언트와 서버가 Connection을 맺은 이후에 발생할 수 있다. ..
2024.12.31 -
4개의 용어, 개념이 헷갈리는데 Spring의 WebClient를 쓰기 위해서 개념을 공부하다 보니 정리해두고 싶어졌다.찾아본 내역들을 다음에 봐도 바로 떠오를 수 있도록 해보자. 우선 blocking, non-blocking이 좀 더 직관적으로 이해하기 쉬웠다. blocking/non-blocking제어권의 반환을 기준으로 생각하자 blocking - 진행하던 작업에서 다른 작업을 호출하면 제어권이 넘어가 버린다.제어권이 돌아올 때까지 기다려야 한다. non-blocking - 진행하던 작업에서 다른 작업을 호출해도 제어권을 넘기지는 않는다.계속 내가 진행하던 작업을 진행할 수 있다. sync/async작업 완료 여부에 관심, 결괏값의 전달 개념을 이해하는데 도움이 되는지는 모르겠지만,단어 자체만의..
sync/async, blocking/non-blocking4개의 용어, 개념이 헷갈리는데 Spring의 WebClient를 쓰기 위해서 개념을 공부하다 보니 정리해두고 싶어졌다.찾아본 내역들을 다음에 봐도 바로 떠오를 수 있도록 해보자. 우선 blocking, non-blocking이 좀 더 직관적으로 이해하기 쉬웠다. blocking/non-blocking제어권의 반환을 기준으로 생각하자 blocking - 진행하던 작업에서 다른 작업을 호출하면 제어권이 넘어가 버린다.제어권이 돌아올 때까지 기다려야 한다. non-blocking - 진행하던 작업에서 다른 작업을 호출해도 제어권을 넘기지는 않는다.계속 내가 진행하던 작업을 진행할 수 있다. sync/async작업 완료 여부에 관심, 결괏값의 전달 개념을 이해하는데 도움이 되는지는 모르겠지만,단어 자체만의..
2024.12.28