전체 글 389

Apache JMeter를 활용한 부하테스트

Intro 부하테스트는 여러명의 사용자가 동시에 어플리케이션에 요청을 보내는 상황을 시뮬레이션 하여 다양한 부하조건에서의 응답을 테스트 하는 과정 입니다. 얼마만큼의 요청을 견딜 수 있는지 테스트 함으로서 병목 구간을 찾아 성능 개선을 하거나 서버를 증설하는 등의 필요한 대응을 할 수 있습니다. 다양한 테스트 툴이 있지만, 사용하기 쉬운 JMeter를 활용해 간단한 테스트를 진행 해 보겠습니다. 설치 Apt-cache로 검색을 해 봤더니 이미 apt 저장소에 있길래 apt를 이용해 설치 해 보았습니다. sudo apt install jmeter https://jmeter.apache.org/download_jmeter.cgi MacOS 유저라면 brew로 설치 하셔도 되고, Apache 홈페이지를 통해 ..

Development/DevOps 2022.04.26

Spring Boot 단독실행시 no main manifest attribute 에러 해결

Intro no main manifest attribute, in 에러 발생 지금까지는 외장 톰캣을 이용해서 어플리케이션을 배포 해 왔습니다. 하지만 스프링부트는 내장 톰캣을 가지고 있기 때문에 단독실행이 가능한데요, 단독 실행 했을때와 외장 톰캣으로 띄웠을때 각각의 성능 및 부하 테스트를 진행 해 보고 더 나은 방향으로 진행하기로 하여 기존에 만들어둔 war 파일을 바로 실행 해 보았습니다. 문제 그런데 기대와는 다르게 manifest 관련 에러가 발생 했는데요, 복잡한 문제는 아니지만 생각보다 검색했을 때 뚜렷한 해법을 찾기가 어려웠기 떄문에 글로 남겨 보려고 합니다 실행이 안되는 상황의 war 패키지 내 트리 구조 원인 말그대로 manifest 파일을 찾지 못했기 때문입니다. jar 혹은 war파일..

Gradle 소개 및 Maven 프로젝트를 Gradle로 변경하기

Gradle 소개 Gradle은 다양한 프로그래밍 언어를 지원하는 빌드 자동화 도구 입니다. 빌드는 소스코드로 작성된 파일을 컴퓨터나 휴대폰 등 에서 실행가능한 소프트웨어 가공물로 변환하는 과정을 말하는데요, 자바의 예를 들면 아래의 과정을 거칩니다. 소스 코드 작성 자바 컴파일러가 소스코드.java를 -> 바이트코드.class로 컴파일 테스트 소스 컴파일 테스트 실행(유닛테스트, 통합테스트 등) jar 혹은 war 파일로 패키징 헬스체크 후 빌드 결과 출력 Apache Ant 및 Apache Maven의 컨셉을 기반으로 하지만, XML로 설정파일을 작성하는 Maven과는 대조적으로 훨씬 간단한 Groovy 언어를 사용 합니다. 또한 Gradle은 Apache License 2.0 기반의 오픈소스 이며 ..

Programming/Java 2022.04.23

일간에러) java: incompatible types: java.lang.String cannot be converted to org.slf4j.Marker

Intro 오래전부터 이어진 Spring Boot 버전 마이그레이션 작업의 일환으로, 메인급 프로젝트들의 작업은 마무리가 되었지만 여러가지 요구사항에 의해 fork 이후 여러 갈래로 갈라진 branch 격의 프로젝트들도 손을 봐야 하는 상황. 워낙 스프링부트 마이그레이션 작업 후 고생을 많이 했던 덕에 이제는 왠만한 오류는 떠도 한번쯤 봤던 내용들이기 때문에 크게 당황하는 일도 없고, 속도도 꽤나 붙은 상황이다. 그러던 중 간만에 새로운 에러메시지가 보여 반가운 마음에 미래를 대비해 정리 해 두려고 한다. 오류 java: incompatible types: java.lang.String cannot be converted to org.slf4j.Marker 단순하게 log를 찍는 상황인데, 기존에 작성 ..

일간에러) 3 Spring WebApplicationInitializers detected on classpath

Intro 톰캣 8.5 버전으로 프로젝트를 실행하는데 어플리케이션이 기대한 대로 동작 하지 않았다. 로컬에서는 아무 문제 없이 잘 작동했는데 도커로 톰캣 컨테이너를 띄워 실행키기면 계속 문제가 발생했다. 심지어 에러 로그도 쉽게 찾을 수가 없었다. tomcat/logs 경로에서 catalina.2022-04- 으로 시작하는 로그에서는 마치 정상적으로 실행 된 것 처럼 보였는데 localhost.2022-04- 로 시작되는 로그 파일을 확인 하자 그제서야 아래와 같은 에러 메시지를 보여줬다. 13-Apr-2022 13:10:54.092 INFO [localhost-startStop-1] org.apache.catalina.core.ApplicationContext.log 3 Spring WebApplica..

Development/Daily Error 2022.04.15 (2)