일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- FLAB
- 알고리즘
- 부트캠프
- backend
- 멘토링
- 자바백엔드
- 자바
- grafana
- 레디스
- 코딩테스트
- 백엔드
- java
- 후기
- 트러블슈팅
- error
- nGrinder
- EC2
- IntelliJ
- Flutter
- 데이터구조
- github
- AWS
- Spring
- F-Lab
- 도커
- 성능테스트
- 에프랩
- 백준
- MySQL
- 플러터
- Today
- Total
목록전체 글 (153)
민스씨의 일취일장

캐시 전략과 캐시 소프트웨어 종류에 대한 정리 글이다.Cache캐시를 도입하기에 앞서 캐시에 대해 알아보려고 한다.캐시란?캐시란 데이터 임시 저장소이다. 주로 자주 사용하는 데이터 또는 이미 사용한 데이터를 저장해 둬, 다시 데이터를 사용하려 할 때 데이터베이스까지 가지 않고 바로 꺼내쓸 수 있도록 한다. 이런 사용방식으로 성능을 향상시키고, 네트워크의 트래픽을 감소시킬 수 있다.전략에 따른 캐시캐시라는 임시 저장소를 어떤 구성, 즉 어떤 전략으로 사용하는지에 따라서 크게 3가지로 구분해 생각해 볼 수 있다.1) 캐시 Cache지금 위에서 설명한 말그대로의 캐시이다. 클라이언트와 서버 사이 또는 서버와 데이터베이스 사이에 위치시켜 서버에 요청을 보내기 전 또는 데이터베이스로 Query를 보내기 전에 임시..

서비스 컨테이너를 하나 더 띄워서 서비스를 이중화 하고, 이를 위해 로드밸런서를 도입하는 과정(Github Issues #18)에 대한 글입니다.로드밸런서 도입해 서비스 이중화하기작업 순서 계획1. 새로운 서버에 동일한 PaymentService 컨테이너 띄우기2. 로드밸런서 서버에 nginx 컨테이너 띄우기3. 로드밸런서와 PaymentService1, 2 연결하기4. 순서대로 로드밸런싱 되는지 확인하기5. 프로메테우스가 PaymentService2와 로드밸런서도 인식할 수 있도록 세팅6. 그라파나 대시 보드 구성하기1. 새로운 서버에 동일한 PaymentService 컨테이너 띄우기AMI를 생성해 기존 세팅을 갖고 있는 서버를 생성해주었다. 컨테이너는 이미 생성돼 있는 상태로 이미지가 만들어 지기 때..

상황EC2(Free Tier) 상태 running이고, 시스템 로그를 들여다 봐도 문제가 없는데 접속이 안되는 문제가 발생했다.원인CPUCreditBalance가 고갈된 것이 원인이었다. 아무리 프리티어 내의 사용량이여도, 시간당 가용할 수 있는 CPU자원의 한계가 정해져 있다는 것이다. 요즘 성능테스트로 부하를 많이 일으켜서 CPU 사용할 수 있는 Credit을 모두 소진 한 것이다.해결방법해결책은 기다리면 된다. CPU Credit은 시간당 쓸 수 있는 양과 같기 때문에, 시간이 지나면 다시 원상태로 회복된다.

현재 운영중인 EC2 인스턴스와 똑같은 인스턴스를 생성하는 방법에 대한 글이다.AWS 구동중인 EC2 인스턴스와 똑같은 인스턴스 생성 방법동기똑같은 서버를 하나 더 증설하거나, 테스트 하기 위해서 등 여러 이유로 똑같은 설정의 서버(인스턴스)를 생성해야 할 때가 있다. 그럴 때 이전에 설정 화면을 스크린샷 찍어두거나, 기록해 두었다면 똑같이 하면 된다. 하지만 이 방법은 많이 번거롭기도 하고, 조그만 실수에도 인스턴스를 삭제하고 새로 만들어야 하는 위험이 있다. 이번 포스팅에서는 간단하게 완전히 똑같은 인스턴스를 생성하는 방법에 대해 알아볼 것이다.방법1 - AMI(Amazon Machine Image) 생성먼저 AWS EC2 콘솔에서 들어가 동일하게 만들고 싶은 인스턴스를 선택한다.그런 다음 오른쪽 위..

F-Lab Java Backend 과정 3개월 후기 글이다. 어떤 모습이 변했는지, 지금 이 순간 어떤 생각을 갖고 있는지 나중에 보고 싶어 기록해두는 것이라 오글거릴 수 있다. (오글거리는 걸 쓰는 나는 얼마나 오그라들었게요.)F-Lab Java Backend 과정 멘토링 3개월 후기F-Lab 멘토링을 고민하던 때가 정말 얼마전인거 같은데, 벌써 4개월 중 3개월이나 지났다.세 달 동안 진행 내용공부 주제매 달 후기를 작성하면서 어떤 커리큘럼으로 공부를 했는지 업데이트 해두었는데, 그렇게 해두니 나중에 볼 때 어떤 절차로 공부했는지 다시 생각하면서 볼 수 있어 좋았다. 그래서 이번 달에도 여태까지의 공부 주제들을 기록해두려고 한다.1주차 : 객체지향 프로그래밍 / 객체지향 4가지 속성/ 자바 컴파일 과..

F-Lab Java Backend 과정 13주차 후기글입니다.F-Lab Java Backend 과정 13주차13주차 멘토링 주제프로젝트1. 단일 서비스 - 다양한 JVM Heap 사이즈에 대한 성능 테스트2. 서버 이중화 & 로드밸런서 도입이론1. Database ACID & CAP2. Test(단위 / 통합/ 시스템/ 인수/ 회귀)프로젝트다양한 JVM Heap 메모리 사이즈에 대한 성능 테스트멘토님께서 지난 주, 성능 테스트 결과를 보신 후 JVM Heap 메모리를 줄여가면서도 테스트 해보면 좋겠다고 가이드 해 주셨다. 그래서 이번주에는 JVM Heap 메모리를 변경해 하면서 테스트를 진행해 보았다. 그런데 다른 환경에서 관측된 메트릭들의 그래프가 너무 비슷했다. 뭔가 이상함을 느끼고 살펴보니, Age..

EC2에 띄운 로드밸런서로 요청이 도달하지 않을 때 빨리 한 번 고려해 보면 좋은 방법에 대한 글입니다.상황EC2 도커로 로드밸런서를 도입하였다. 이미 지난 번에 해본적이 있기 때문에 설정에는 문제가 없는데, 이상하게 어떤 요청도 nginx에 도달하지 않는다. 하지만 EC2에서 localhost로 보내면 간다.원인EC2 보안 그룹이 막혀 있었다.해결방법load balancer에 설정해 놓은 포트를 열어주어라!회고너무 간단한 이슈에서 한 시간 가량을 소비해서 다시는 이런 어처구니 없는 상황을 겪지 않기 위해 작성해둔다.

AWS EC2 정상 작동중인데 접속이 안돼 확인해 보니, nf_conntract table이 가득찬 이슈가 있었다. 이 것에 대한 해결 과정에 대한 글이다.상황EC2가 정상작동 중인데 접속이 안되는 이슈가 발생했다. 재부팅을 해도 해결이 되지 않는다. 지난 번에도 동일한 증상이 있어서 중지하고 재실행 했었다. 이렇게 했을 경우 ElasticIP를 사용중이 아니라면 접속 IP가 변경되버리고, 해당 IP로 설정해 놓은 모든 곳의 설정을 변경해줘야 햐는 번거로움이 있다. 그래서 이번에는 어떻게든 문제를 찾아 보려고 이것 저것 하다가 새로운 문제를 발견하게 되었다.원인인스턴스 목록에서 문제를 일으킨 인스턴스를 선택한다. 그런다음 오른쪽 위 작업에서 '작업 > 모니터링 및 문제 해결 > 시스템 로그 가져오기' 순..

Github Issues #17에 대한 글입니다.성능 테스트 - 적정 환경 찾기이슈nGrinder 컨트롤러와 에이전트를 연결시키고, Prometheus와 Grafana를 이용해 메트릭을 수집하고 시각화하는 것까지 잘 되었다. 그런데 이상하게 어떤 조건에서도 CPU 점유율 양상이나, 평균 반응 시간 등의 그래프가 비슷한 양상을 띄었다. 분명히 조건이 달라진다면 반응도 달라져야 하는데, 언제나 똑같았다.문제 파악문제를 파악하기에 앞서 테스트가 어떻게 이뤄졌었는지 살펴보도록 하겠다.테스트 환경서버 : AWS EC2OS : Amazon-LinuxDatabase : AWS RDS특징 : Docker Container로 구동 테스트 도구nGrinder Controller : 로컬 PC에서 실행nGrinder Age..