728x90

Study 182

Locust 성능 테스트 - 부하 테스트 (stress test), 스파이크 테스트, 내구성 테스트(Endurance test)

@RestController@RequestMapping("/search")@Log4j2@RequiredArgsConstructorpublic class PostSearchController { private final PostSearchServiceImpl postSearchService; //조회에 조건이 많을 때는 post 형식으로 사용하기도 한다. @PostMapping public PostSearchResponse search(@RequestBody PostSearchRequest request){ List dtos = postSearchService.getPosts(request); return new PostSearchResponse(dtos); ..

카테고리 없음 2024.11.20

성능 테스트 - Locust 설치, 이론

intelliJ - new Projdct 에서 python 을 택한다.terminal 창에서pip install locust  locust 는 vscode Installer가 없으면 설치되지 않는다. 설치 후 진행.  스크립트를 작성한다. from locust import HttpUser, task, betweenimport randomclass AddPosts(HttpUser): wait_time = between(1, 2) def on_start(self): self.client.post("/members/sign-in", json={ "memberId":"member", "password": "1234" }) @task def add_post(self): s..

JAVA/프로젝트 2024.11.20

성능 테스트 진행- 테스트 종류와 툴, 진행할 시나리오

성능테스트?해당 어플리케이션의 성능, 확장성및 안정성을 평가하는 과정을 나타낸다.테스트의 목적은 어플리케이션의 부하 처리 능력, 응답시간, 처리량 및 자원사용량과 같은 성능 관련지표를 측정해 어플리케이션이 예상된 작업 부하 아래에서 어떻게 수행되는지 이해하는데 도움을 준다.  성능 테스트의 종류스트레스 테스트: 어플리케이션을 최대 부하에서 테스트하는 과정. 어플리케이션의 성능 한계를 확인하고 부하 처리 능력을 평가한다. 대량의 동시 사용자 또는 트랜잭션을 생성해 어플리케이션의 응답 시간과 자원 사용량을 모니터링한다.  스파이크 테스트: 갑작스러운 부하 증가에 대한 어플리케이션의 대응 능력을 테스트한다. 예를 들어 선착순 할인 이벤트 같은 이벤트로 인해 갑자기 많은 사용자가 어플리케이션에 접속하는 시나리오..

JAVA/프로젝트 2024.11.18

Spring Boot 에 Redis 설정, 캐시 적용, 조회

build.gradle에 추가implementation 'org.springframework.boot:spring-boot-starter-data-redis' application.properties에 추가spring.cache.type=redisspring.data.redis.host=spring.data.redis.port=spring.data.redis.password=spring.data.redis.repositories.enabled=false# spring.cache.redis.time-to-live=600000expire.defaultTime=36288000  mainApplication 에 추가@EnableCaching  RedisConfig class 를 만들어준다. import com...

JAVA/프로젝트 2024.11.17

로그인 AOP 적용

AOP?Aspect - Oriented - Programming스프링 프레임워크에서 제공하는 모듈. 관점 지향 프로그래밍의 구현을 지원하는 기술이다.AOP는 여러 모듈에서 공통으로 발생하는 관심사를 분리, 관리하며, 코드의 재사용성과 유지보수성을 향상 시키기 위해 사용된다. Aspect 관점: aop에서 관점이란 특정 관심사를 나타낸다.ex) 로깅, 트랜잭션, 보안.. JoinPoint 결합 지점: 어드바이스가 실행되는 시점. 예를 들어 메서드 호출이나 필드 접근 지점. PointCut 지점: 어드바이스를 적용할 결합 지점을 나타낸다. 정규 표현식이나 패턴을 사용하여 결합 지점을 정한다. Around 는 Advice 유형 중 하나로, 타겟 메서드를 감싸서 호출 전 후에 코드를 실행하게 해주는 어노테이션이..

JAVA/프로젝트 2024.11.16

대규모 트래픽을 고려한 프로젝트 기획 - 스택, 목적, 기능, 컨벤션, ERD

환경: JDK17, intelliJ기술: Spring Boot, Mybatis데이터: MySQL, redis성능 테스트: Locust, Python 프로젝트 목적:대용량 트래픽을 고려한 어플리케이션 개발(초당1000 tps 이상의게시글검색API)객체지향과 디자인패턴을 적용 및 가독성을 고려한 코드 작성 방법 공유현업 단계에서 코드리뷰를 어떻게 하는지 경험 공유모니터링 및 트러블 슈팅 전락 공유젠킨스 툴로 배포 자동화를 통해 개발 생산성 높이기 프로젝트 기획회원가입, 탈퇴아이디, 닉네임 중복 체크비밀번호 암호화로그인 로그아웃게시판카테고리 관리게시글& 파일추가, 삭제, 수정, 조회유저정보, 게시글제목, 게시글내용게시글검색기능댓글작성기능어드민공지글 추가 기능  커밋 컨벤션  브랜치 전략 - Git Flow 사..

JAVA/프로젝트 2024.11.14

클라우드 컴퓨팅이란

01. 클라우드 컴퓨팅의 이해 클라우드 컴퓨팅이란?클라우드 = 여러 기술이 모인 플랫폼 환경필요한 만큼만 사용하고, 사용한 만큼만 요금 지불. 가상화와 클라우드가상화 = 기술클라우드 = 환경클라우드 안에 가상화 기술이 구현되어 있다. 클라우드는 Public, Private  환경으로 나뉜다.Public: 인터넷을 통해 접근 가능. Private: 클라우드 환경 자체를 내가 통제할 수 있는 데이터 센터 내 구축. 가상화, 추상화된 사용성이 장점. 클라우드 환경의 조합Multi Cloud: 여러 클라우드에 워크로드가 분산이 되어 올라가 있는 것. Hybrid Colud: 클라우드와 온프미스의 하이브리드 구성.  Iaas: 인프라 제공. ex) 서버. Saas: ex) 모든 서비스를 패키징 해서 제공. 사용만..

클라우드 2024.11.12

파이널 프로젝트 회고록

1. 프로젝트 개요 프로젝트 이름: clear - bunyang프로젝트 기간: 2024.07.18 ~ 2024.09.20개발 기간: 2024.08.09 ~ 2024.9.20기획 기간: 2024.07.18 ~ 2024.8.09팀원 구성: PM-4명, UXUI-5명, FE-3명, BE- 5명주요 목표: 아파트, 오피스텔, 상가의 미분양 문제를 해결하기 위해, 검증된 정보를 신속하게 제공하는 플랫폼. 고객이 쉽게 접근하여 상담, 계약으로 이어질 수 있도록 지원함으로써 미분양 문제를 효과적으로 해소하는 것을 목표로 했다. 2. 진행 과정주요 작업 및 일정:기획 기간: 2024.07.18 ~ 2024.8.09개발 기간: 2024.08.09 ~ 2024.9.20PM, UXUI 가 먼저 기획을 시작했다. PM분 들이..

회고록 2024.10.24

미니 프로젝트 회고록

1. 프로젝트 개요프로젝트 이름: wonderlust프로젝트 기간: 2024.06.17 - 2024.07.05팀원 구성: FE 3명, BE 5명주요 목표: 숙박 예약을 돕는 웹서비스2. 진행 과정주요 작업 프로젝트OT -> 기획 설계 -> 필구 기능 구현 -> 1차 트러블 슈팅, BE/FE 통합 회의 -> 기능 고도화 및 확장 -> 2차  사용한 기술 스택:Java correto 17Spring Boot 3.3.0MysqlJPASpring securityjjwtvalidationlombokswaggerPostmanmokitojunit3. 성과 및 성공 요소달성한 목표: 프로젝트 요구사항 만족 ㅌ미니 프로젝트 우승팀워크 및 협업:아침 출석 체크 후, 디스코드 음성 채팅 방에 모여 각자의 상황을 보고 하고 ..

회고록 2024.10.24
728x90
반응형