일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 백엔드
- Flutter
- 로드밸런서
- nGrinder
- 성능테스트
- github
- 트러블슈팅
- 부트캠프
- AWS
- java
- redis
- 자바
- 도커
- FLAB
- EC2
- 플러터
- Spring
- 멘토링
- 후기
- 자바백엔드
- 레디스
- 데이터구조
- backend
- 에프랩
- 알고리즘
- F-Lab
- grafana
- MySQL
- 코딩테스트
- error
- Today
- Total
목록전체 글 (132)
민스씨의 일취일장
이 글은 Github Isssu #12 1-4 nGrinder 동시성 이슈 시나리오 만들기를 다룹니다.nGrinder 동시성 테스트 시나리오 만들기동시성을 고려한 서비스동시성을 고려한 서비스를 만들기 위해 동시성 테스트를 준비하고 있다. 동시성 문제가 유발할 수 있는 환경은 크게 두 가지 방법으로 만들어 낼 수 있다.nGrinder 컨트롤러 설정테스트 Script 수정nGrinder 컨트롤러 설정만으로 동시성 시나리오 구성동시성이라하면 여러명이 동시에 작업을 요청해야 한다. 이를 위해서 여러 Agent를 구성할 수도 있다. 하지만 리소스를 많이 사용하지 못하는 환경에서 작은 규모에 테스트를 진행한다면 하나의 Agent로 동시성 시나리오를 만들 수 있다. 어떻게? 방법은 nGrinder 설정으로 가능하다...
성능 테스트에서 측정할 지표들에 대한 글로, Github Issue #12의 1-2에 대한 내용입니다.성능 테스트 지표들 선정하기성능테스트를 기반으로 프로젝트를 진행할 계획이다. 이를 통해 적절한 최적화를 진행하며 기능들을 추가해 나갈 것이다. 테스트와 모니터링 환경이 구축되었으니 이제 본격적으로 어떤 정보들을 수집해 분석할 것인지 정해야 한다.어떤 것을 측정할 것인가?어떤 성능을 갖춰야 하는지는 프로젝트의 지향점에서 찾으면 된다. 이번 프로젝트의 목표는 "대용량 트래픽을 빠른 속도로 안전하게 처리할 수 있는 고가용성 결제시스템"을 만드는 것이다. 대용량 트래픽을 빠른 속도로 안전하게 처리할 수 있는 고가용성 결제 시스템 목표에서 중요 키워드를 뽑아보자면 다음과 같다.대용량 트래픽빠른 속도안전성고가용성..
컨테이너 구동 시 메모리 제한 설정에 대한 글로, Github Issue-#12의 일부 내용입니다. 단일 엔드포인트 성능 테슽 - /payments · Issue #12 · f-lab-edu/MetaPay/payments 엔드포인트에 대한 성능테스트를 진행할 것이다. 작업은 "테스트 준비"와 "테스트 수행"으로 이루어져 있다. 세부 항목은 아래와 같다. 테스트 준비 도커 컨테이너 메모리 설정 Grafana Custogithub.com컨테이너 메모리 제한 설정성능 테스트에 진행하기 앞서, 컨테이너의 환경을 되도록 일정하게 유지할 필요가 있다. 즉, 변인을 통제하기 위해 서비스 컨테이너의 메모리를 고정(제한) 해보려고 한다.제한 방법지금 적용해보려 하는 방법은 두 가지이다.JVM Heap 메모리 제한컨테이너..
F-Lab Java Backend 과정 11주차 후기글입니다.F-Lab Java Backend 과정 11주차11주차 멘토링 주제11주차 멘토링 주제는 아래와 같다.프로젝트1. EC2 로드밸런서 구축하기2. EC2 서비스 nGrinder 연동하기 -> 테스트 환경 완성하기+alpha : 모니터링 환경 구축하기이론1. Load Balancer2.API Gateway3. 분산 캐시4. 메시지브로커5. 이벤트브로커이력서1. 이력서 제출형으로 수정하기 프로젝트EC2 밸런서 구축하기지난 주 프로젝트 진행과정에서 로드밸런서가 작동하지 않는 이슈가 있었다. 도커 네트워크와 컨테이너 포트 매핑에 대한 이해가 부족해서 발생한 이슈였다. 같은 네트워크 내에 존재하는 컨테이너들은 호스트Port가 아닌 서비스Port를 이용해서..
EC 내 컨테이너에서 로컬 PC로 보낸 요청이 전달되지 않는 이슈에 대한 글입니다.EC2에서 로컬 PC로 요청이 전달되지 않는 이슈상황 1nGrinder Agent를 EC2에 도커 컨테이너로 띄웠다. Agent는 작동하기 위해선 Controller의 신호를 받아야 한다. 따라서 성능 테스트를 진행하기 전에 Agent가 보내는 신호를 Controller가 수신하는 과정을 거쳐야 한다. 하지만 EC2 컨테이너로 구동된 Agent가 로컬 PC 컨테이너로 구동중인 Controller로 보낸 신호가 도달하지 않는 이슈가 발생했다.원인 파악 과정 1 - 로컬테스트에서는 정상 작동로컬환경에서 nGrinder Controller와 Agent를 연결했을 때는 정상적으로 작동했다. 똑같은 설정이 EC2로 Agent를 옮긴..
로드 밸런서가 한 곳만 포워딩하는 이슈 해결방법에 대한 글입니다.로드 밸런서가 하나의 서버만 연결하는 이슈Tissue오늘의 이슈는 다음과 같다.EC에 띄운 Nginx 로드밸런서가 요청을 하나의 컨테이너로만 전달한다.(원래는 두 컨테이너에 번갈아 가면서 전달해야 한다.)상황파악 - 기존 Nginx 설정events{ worker_connections 1024;}http{ upstream payment_service{ server metapay-payment:8080; server metapay-payment2:8081; } server { listen 80; ..
VisualVM 사용하며 겪은 시행착오와 사용 방법에 대한 글입니다.VisualVM이란?VisualVM은 Java 애플리케이션을 위한 성능 모니터링 및 프로파일링 도구이다.VisualVM 사용방법VisualVM은 응용프로그램으로, 간단하게 다운만 받으면 바로 실행할 수 있다.설치아래 링크에서 자신의 OS에 맞는 VisualVM을 다운 받으면 된다. VisualVM: DownloadFirst Steps Unzip the downloaded archive. The archive already contains the top-level visualvm directory. Start VisualVM by invoking the binary appropriate for your OS:visualvm\bin\visu..
F-Lab Java Backend 과정 10주차 후기 글이다.F-Lab Java Backend 과정 10주차10주차 멘토링 주제10주차 멘토링 주제는 아래와 같다.이론1. Spring Security2. Intrastructure as Code3. Load Balancer & API Gateway프로젝트1. Git Command에 맞춰 코드 리팩토링2. AWS EC2에 배포된 서비스와 RDS 연결하기3. 컴퓨터 2대를 nGrinder Controller와 Agent로 구성해 클라우드에 배포된 서비스의 성능테스트 환경 구축4. EC2에 서비스를 또 하나 배포한 뒤 Nginx 로드밸런서 구축하기프로젝트EC2에 배포된 서비스와 RDS 연결하기RDS 연결하는 작업은 워낙 많이 해봤기 때문에 간단하게 끝날거라고 ..
F-Lab Java Backend 과정 2개월 후기 글이다.F-Lab Java Backend 과정 멘토링 2개월 후기어느덧 7월 한 달이 모두 지나고, F-Lab 멘토링을 진행한지 2개월이 지났다. 중간 점검을 하면서 지난 한 달을 돌아보려고 한다.방향 점검내가 올바른 방향으로 가고 있는지 판단하기 위해선 기준이 필요한데, F-Lab 멘토링을 시작할 때 가졌던 목표를 그 기준으로 삼아보려고 한다. 그 기준으로 지난 2개월을 살펴보고 잘 하고 있는지 또는 목표를 수정할 필요가 있을지 살펴보자.시작할 때의 목표이 글을 작성하면서 1개월차 후기를 다시 읽어보았다. 그 당시 목표는 "깊이 있는 지식 수준"을 갖추는 것이었다. 이 목표를 보니, 멘토링을 처음 시작할 떄가 새록새록 생각났다.두 달 동안 학습한 내용..