# Jmeter

56개의 포스트
post-thumbnail

[Java] 이미지 생성 API 속도 개선 및 성능 테스트

이미지 생성 API 속도 개선 이미지를 생성하는 속도는 전자가격표시기에 있어 매우 중요했다,,! 만약에 1분에 2장의 이미지만 생성할 수 있다면, 1시간동안 120장의 이미지만 만들 수 있고, 이는 4000여개의 전자가격 표시기를 사용하는 매장에서는 매일 이미지를 생성하여 사용할 수 없는 수치이다. 이미지 개선 작업을 시작하기 전, 하나의 전자가격표시기에 이미지를 만드는데 걸리는 시간은 약 102~104ms 였다. 즉 1초에 약 10장 정도의 이미지만 생성할 수 있었고, 1분에 600장, 1시간에 약 36000장의 이미지를 그릴 수 있는 수치이다. 적은 숫자는 아니지만, 하나의 매장 당 4000여개의 이미지를 관리하고 있는 매니저의 입장에서 바라보았을 때 오직 가격표에 이미지를 내리기 위해서

6일 전
·
0개의 댓글
·
post-thumbnail

[JMeter] JMeter Http Request 요청 방법 (성능 테스트)

JMeter란? 자바 웹 어플리케이션 성능 Test 오픈 소스 설치 & 실행 download 링크: https://jmeter.apache.org/download_jmeter.cgi 압축해제 후 apache-jmeter-${jmeter version}\bin\jmeter.bat 실행 > API 성능 test를 할 떄 JMeter를 종종 사용해왔다. 서버에 http request를 Bulk로 보내고, 그 결과를 Summary로 보는 방법과, 요청 시 CPU, Memory, Disk, 네트워크 사용량을 측정하는 방법을 기록해보고자 한다. Thread Group 생성 성능 테스트 진행 시 조건을 설정하는 부분이다. Number of Threads: 쓰레드 개수 조절 Ramp-up Period: 요청을 보낼 시간을 설정 만약 1로 설정 시 1초 동안 Loop Count 횟수만큼 요청을 보낸다. 0으로 설정 시

6일 전
·
0개의 댓글
·
post-thumbnail

[TIL] jmeter 사용하여 EC2 성능 테스트

현재 프로젝트에서 외부 API 를 과도하게 호출해서 응답속도가 느려지는 것 같아서 JMeter를 이용하여 EC2 서버의 API 성능 테스트를 진행해보려고 한다. Jmeter를 이용해서 테스트를 하는 방법은 다음과 같다. **Test Plan 생성 ◦ JMeter를 실행한 후, 좌측 메뉴에서 "Test Plan"을 우클릭 > Add > Threads (Users) > Thread Group으로 이동해 새로운 Thread Group을 추가합니다. ◦ Thread Properties에서 Number of Threads (users), Ramp-Up Period (seconds), Loop Count 등을 설정합니다. 여기서 Number of Threads는 동시에 요청하는 사용자 수, Ramp-Up Period는 모든 사용자가 시작하는 데 필요한 시간, Loop Count는 각 사용자가 요청하는 횟수를 의미합니다.** ![](https://velog

2023년 8월 31일
·
0개의 댓글
·

jmeter spring boot test

jmeter spring boot test > 🤔jmeter를 통해 부하테스트를 진행 할 수 있는데 이번에는 직접 만든 스프링 부트를 테스트 해보겠습니다. 기본 환경 > 스프링 부트 3.0 이상 스프링 시큐리티 적용 배포가 된 상태 Thread Group >🧐먼저 스레드 그룹을 하나 만들어 줍니다. (지난 글을 보고 왔다는 가정하에 진행하겠습니다.) 이후 Http Reqeust를 하나 생성해주고 해당 url을 자신에게 맞는 스프링 부트 주소로 바꿔줍니다. 로그인 테스트 Config > 🫠스프링 시큐리티가 적용된 경우 권한이 필요한 페이지에 접근하려면 먼저 로그인을 해야 합니다. 현재 from Login 방식이 적용되었기 때문에

2023년 7월 31일
·
0개의 댓글
·

jmeter 기본 사용 방법

jmeter >🫠프로젝트를 만들고 나서 내가 만든 프로젝트가 잘 자동은 하는지 성능면에서는 부담이 가는 곳은 없는지 확인 하고 싶은 경우가 있습니다. >직접 새로고침을 하거나 포스트맨으로 get 요청을 하여 테스트를 할 수 있으나 자동으로 요청을 해주는 프로그램을 사용한다면 수월하게 진행을 할 수 있습니다. Thread Group >🥳먼저 jmeter를 설치를 해줍니다. (설치 과정은 다른 곳에 잘 나와 있기에 생략하겠습니다.) > 화면을 보시면 jmeter가 아래와 같이 생겼을 겁니다. > 저는 현재 스레드 그룹을 만들어 놓은 상태여서 위와 같이 나온 상태이고 처음 프로그램을 실행하게 되시면 Test Plan 말고는 아무것도 없을 것입니다. > 🫡먼저 스레드 그

2023년 7월 29일
·
0개의 댓글
·
post-thumbnail

[JMeter] 동시접속자 테스트

1. 설치하기 ① Apache JMeter 다운로드하기 Binaries에 있는 apache-jmeter-5.6.2.zip을 다운로드(Window 기준) https://jmeter.apache.org/download_jmeter.cgi ❓ Binaries(바이너리) 와 Source(소스)의 차이점 바이너리 설치 : 프로그램의 설치와 관리가 용이하게 하기 위해서 개발된 패키지. 빠른 속도가 장점 소스 설치 : 소스 코드가 함께 포함되어있는 패키지. 직접 설치하면 세밀한 설정이 가능한 것이 장점 ② 압축 풀기 ③ "bin" 폴더 안에 있는 "jmeter" Windows 배치 파일 실행 ![](https://velog.velcdn.com/images/hyunii/p

2023년 7월 28일
·
1개의 댓글
·
post-thumbnail

[spring] (2탄 : redis cache 적용) 원점으로 돌아가서 api를 갈아 엎어보자!

intro. 이전 포스팅에 이어서.. 이전 포스팅에서 api하나를 분리하고 2개의 api로 만든 것을 확인할 수 있었다. 그리고 마지막으로 cache 적용기를 메인 주제로 하여 2탄을 가져왔다. cache를 도입하려고 하는 이유가 무엇일까? 6시에 한번 Update하고 그 이후로는 계속 동일한 정보에 대해서 굳이 database에서 계속 조회할 필요가 없다. cpu는 memory보다 cache를 더 빨리 읽기 때문이다. 그리고 home page에 접근할 때마다 계속 필요한 데이터이다. 하루에 사용자 1명당 발생할 수 있는 트래픽이 가장 많을 페이지이다. 그렇다는 것은 더더욱 데이터베이스에 가면 안 된다. 그래서? 그래서 나는 cache를 도입해서 성능을 upgrade시켜보기로했다. 물론,,,,엄청나게 많은 데이터가 아니여서 드라마틱한 차이가 없을 것은 예상했다.(한번의 request에 대해서 말이다!) 그런데,,,동시에 많은 양의 요청이 있다면 main page이기

2023년 7월 23일
·
0개의 댓글
·
post-thumbnail

[AWS] Auto Scailing Elastic Load Balancer 적용 해보기 with Jmeter

_**수많은 클라이언트가 요청을 보냈을 때 해당 요청을 하나의 큰 덩어리로 처리하는 것이 아닌 잘개 분해해서 각각의 인서턴스(EC2)에게 분배함에 따라 요청 처리량 증가 및 효율성 증대 > AWS ELASTIC LOAD BALANCER EC2 생성 > 로드 밸런서를 적용시키기 위해서는 EC2가 필요합니다. 기존의 수많은 글로 EC2 생성기는 대체 하겠습니다. 동작 과정 > 클라이언트의 요청이 Load Balancer 로 들어온다. 로드 밸런서도 일종의* "웹 서버" *이다. 트래픽이 아무리

2023년 6월 26일
·
0개의 댓글
·

Spring Boot Jmeter 사용(M1)

안녕하세요 오늘은 M1에서 Spring Boot에서 부하 테스트를 진행하는 Jmeter를 사용하는 방법에 대해서 알아보겠습니다. M1 맥의 경우 (과거보다는 많이 좋아졌지만) 여전히 소프트웨어 호환성에 문제가 있어 윈도우나 리눅스에서 돌아가는 방식과 다른 경우가 있습니다. M1 맥에서 Jmeter를 실행시키기 위해선 homebrew 설치가 필요합니다. (homebrew 설치를 구글링하면 쉽게 찾을 수 있으니 스킵하겠습니다.) 터미널에서 brew install jmeter 명령어를 통해 설치 후 open /opt/homebrew/bin/Jmeter 명령을 실행하면 Jmeter가 실행됩니다. GUI 방식으로 실행하는 방법은 아직 몰라서 CLI로 실행하고 있습니다. 이 부분은 추후 다시 확인해보겠습니다. 설치하면 다음과 같은 창이 나타납니다. 여기서 세팅을 진행해보겠습니다. ![](https://velog.velcdn.com/images/gale4739/post/66ce5d20-5

2023년 6월 22일
·
0개의 댓글
·
post-thumbnail

JMeter로 Back-end 성능 테스트

Spring에서 작성한 Back-end 코드를 테스트 해보려한다. 웹 애플리케이션 성능 테스트를 위해 JMeter를 사용할 거다. Install JMeter JMeter가 뭐냐면 Apache에서 만든 자바로 만들어진 웹 애플리케이션 성능 테스트 오픈 소스이다. 사실 다른 테스트도 많았는데 이게 젤 쉬워보여서 선택했다 ㅎ.. JMeter를 설치하기 위해 공식 홈페이지에서 zip 파일을 다운 받는다. apache-jmeter-5.5.zip 클릭해서 다운로드 후 압축해제해준다. (5.5가 아니어도 최신버전으로 다운받으면 된다.) Run JMeter 다운받은 zip 파일을 압축해제 해준 다음 터미널을 킨다. 터미

2023년 6월 9일
·
0개의 댓글
·
post-thumbnail

CompletableFuture로 비동기 작업 안정화 및 성능 테스트

💡 개요 프로젝트 아보카도에는 로그인 과정에서 이메일 인증을 필요로 하기 때문에, 이메일로 인증 코드를 발급한다. 이때, 이메일 송신 과정을 비동기로 처리하곤 한다. (→ 우아한 테크코스 블로그 참고) Java 5에서 Future 인터페이스가 비동기 계산을 다루도록 추가되었지만 여러 단점 및 한계들이 존재했다. 비동기 작업 실행 작업 콜백 작업 조합 예외 처리 따라서 Java 8에서는 Future의 단점 및 한계를 개선하도록 CompletableFuture 인터페이스가 도입되었다! 직접 코드에서 도입 전후를 비교하여 살펴보자. 💡 첫 번째 성능 개선기 기존

2023년 5월 23일
·
1개의 댓글
·
post-thumbnail

JMeter 부하 테스트

[JMeter 부하 테스트] >apache-jmeter-5.5.zip 다운로드 https://jmeter.apache.org/download_jmeter.cgi >부하테스트 사용법 참조 https://luckyguystory.tistory.com/161 1초에 1000명을 1번 테스트하겠다. ![](https://velog.velcdn.com/imag

2023년 5월 18일
·
0개의 댓글
·
post-thumbnail

Jmeter 여러 명의 유저 접속하기(2탄)

1탄에서는 jmeter에서 jwt를 추출해 request header에 넣는 방법을 확인해보았다. 2탄에서는 여러 명의 유저를 테스트할 수 있는 방법에 대해 작성해보았다. * 여러 명의 유저의 아이디와 비밀번호가 있는 csv파일(또는 txt)을 만든다. 아래와 같이 아이디와 비밀번호를 작성한다. Tread Group > Add > Config Element > CSV Data Set Config를 추가한다. Filename에서 방금 생성한 csv파일을 불러오고 Variable Names에 변수를 설정한다. Login Sampl

2023년 5월 13일
·
0개의 댓글
·
post-thumbnail

Jmeter jwt 동적으로 받기 (1탄)

&nbsp웹서버 성능 테스트를 위해 jmeter를 사용하던 중 동적으로 jwt를 받아 로그인을 하는 시나리오를 작성해 보았다. 여러 명의 유저가 동시에 로그인하는 방법은 2탄에 작성했다. 먼저 Thread Group을 만들고 Thread Group 안에 HTTP Request와 Results Tree를 추가한다. HTTP request > Add > Config Element > HTTP Header Manager를 만든다. HTTP Header Manager에 Name=Content-type, Value=application/json를 추가한다. ![](https://velog.velcdn.com/images/dksdnjs830/post/b0f64bc8-7f96-49ae-ae9e-3f121b7

2023년 5월 13일
·
0개의 댓글
·
post-thumbnail

[Spring Boot] Apache JMeter를 이용한 부하 테스트

❗️ 문제 상황 테스트 코드를 수정하던 도중, 이러한 생각이 문득 들었다. > 만약 내 애플리케이션에 많은 수의 클라이언트가 동시에 요청을 보내면 어떻게 될까? 그래서 테스트 도구를 찾아보고 여쭤보던 중, Apache JMeter라는 툴을 발견! 그대로 사용해보기로 했다. 지금부터 Apache JMeter를 사용하는 방법을 알아보자. 부하 테스트란? Apache Jmeter의 사용법을 알아보기 전에, 우선 부하 테스트가 뭔지부터 알아보자. > 성능 테스트의 한 종류로, 임계값 한계에 도달할 때까지 시스템의 부하를 지속적으로 꾸준히 증가시켜 시스템을 테스트하는 방법 내가 생각한 방법은, 가상의 여러 유저를 생성해서 한 API를 100번, 1000번 요청해보는 것! Apache JMeter란? JMeter의 정의 > _**Apache JMeter는 서버가 제공하는 성능 및 부하를 측정할

2023년 5월 3일
·
0개의 댓글
·
post-thumbnail

k6 vs JMeter, 어느 성능 테스트 도구를 써야 할까?

안녕하세요. 유니크굿컴퍼니의 백엔드 개발자 용태입니다. 지난번에 제가 작성했던 글에 이어서, 이번에는 를 주제로 만나 뵙게 되어 반갑습니다. 이 글에서는 대표적인 서버 성능 테스트 도구인 k6와 JMeter를 비교하며 어느 도구를 사

2023년 4월 24일
·
1개의 댓글
·
post-thumbnail

JMeter로 동시성제어 테스트하기

주차장을 예약할 수 있는 서비스를 만들었다. 이 때, 예약 가능 자리는 5자리뿐인데 10명이 동시에 예약을 진행한다면 어떻게 될까? 의도한대로 프로그램이 동작한다면, 10명이 동시에 예약을 하더라도 5명만 예약이 성공해야 한다. 동시성 제어가 제대로 되고 있는지 확인하기 위해 JMeter를 이용하여 테스트해보자! JMeter란? 아파치(Apache)에서 개발한 성능 테스트 도구로, 웹 애플리케이션, 데이터베이스, FTP 등 다양한 종류의 서버에 대한 성능 테스트를 수행할 수 있다. Java로 작성되어 있으며, GUI를 통해 테스트 계획을 작성하고 테스트 결과를 시각적으로 확인할 수 있다. 다양한 프로토콜을 지원하고, 분산 테스트를 지원하여 여러 대의 컴퓨터에서 테스트를 수행할 수 있다. 사용하기 쉽고 다양한 기능을 제공한다. JMeter 설치하기 Mac에서 JMeter를 설치하는 방법은 다음과 같다. 자바 설치 Jmeter는 Jav

2023년 4월 6일
·
0개의 댓글
·
post-thumbnail

<TIL> 83. Apache JMeter

성능 테스트란? 서비스 및 서비스 시스템의 성능을 확인하기 위해 실제 사용 환경과 비슷한 환경에서 테스트를 진행하는 것. 성능 테스트를 통해 응답시간(Response Time), 처리량(Throughput), 병목구간 등을 확인가능. 성능 테스트로 얻은 정보로 서비스나 시스템의 문제점을 확인하고 이를 개선(Tuning)해 보완. 성능테스트는 서비스 및 서비스 시스템이 작업 부하 상태에서 제대로 작동하는지 확인하는 일종의 소프트웨어 테스트. 성능 테스트의 목적 - 버그찾는것 X -> 성능 병목 현상 제거. 특정 이벤트에 대해 미리 동시 접속자 수에 대한 성능 테스트를 수행함으로써 서버가 몇 명까지의 동시 접속자 수를 케어할 수 있는지, 어디에서 부하가 많이 발생하는지 사전에 미리 예측하고 대비 가능. 성능 테스트 유형 1) Load Test 동시 사용자 또는 프로세스 수에 의해 생성되는 트랜잭션의 요청으로 인해 현실적인 부하 수준을 처리하는지에 대한 시스템

2023년 4월 4일
·
0개의 댓글
·
post-thumbnail

Apache Jmeter 대용량 트래픽 테스트

Apache Jmeter 대용량 트래픽 테스트 JMeter란? JMeter는 Apache Software Foundation에서 개발하고 유지보수하는 오픈소스 로드 테스트 도구입니다. 주로 웹 애플리케이션, 웹 서비스, FTP 등 다양한 프로토콜을 지원하며, 대규모 분산 테스트를 위한 기능도 제공합니다. JMeter는 사용자가 작성한 테스트 계획을 기반으로 요청을 전송하고 응답 시간, 처리량, 에러율 등의 테스트 결과를 수집합니다. 사용자는 JMeter 내장 GUI를 통해 테스트 계획을 작성하거나, 스크립트를 작성하여 테스트를 수행할 수 있습니다. 장점 무료이며 오픈소스로 공개되어 있어 비용이 들지 않습니다. 다양한 프로토콜을 지원하며, 확장성이 뛰어나 사용자 정의 요청 처리도 가능합니다. 다양한 그래프 및 리포트를 제공하여 결과 분석이 쉽습니다. 자바 기반으로 개발되어 있어 운영체제와 상관없이 실행할 수 있습니다. 비교 JMe

2023년 3월 16일
·
0개의 댓글
·
post-thumbnail

[서버관리] 부하테스트

환경변수를 설정해줘야 한다. jmetert.bat 으로 실행 순서대로 진행이 될 예정이다. 변수로 ID와 PW를 사용할 것이고 만들어 놓은 text파일을 이용할 것이다.

2023년 3월 5일
·
0개의 댓글
·