본문 바로가기

전체 글

(181)
TIL-231108(부하테스트 목표설정) 📝오늘 공부한 것 '행동대장' JMeter 테스트 커리어톤 참여 프로그래머스 문제풀기 📌 목표 설정하기 부트캠프에서 진행한 프로젝트는 배포가 되어있는 서비스이다. 그리고 그 서비스에는 130명의 유저가 있다. 하지만, 이 수준의 트래픽으로는 대용량 트래픽 상황을 실제로 경험하기에는 어렵다고 판단하였다. 따라서, 대용량 트래픽에 관해서 공부해보고 싶어, 로컬 환경에서 부하테스트를 진행해보기로 하였다. 테스트를 위해 가상의 가입자 10,000명을 가정하였고, 그 중 30%인 3000명을 활성 유저로 설정하였다. 또한, DB에는 게시글 100,000건 정도의 더미데이터를 생성하였다. 📍 현재 상태 서비스 성능 게시글 수 : 약 100,000건 테스트 조건 : 1000명의 user가 1초당 1번 요청 Numbe..
TIL-231107(MySQL 더미데이터 생성) 📝오늘 공부한 것 '행동대장' JMeter 테스트 커리어톤 참여 프로그래머스 문제풀기 📌 MySQL 더미데이터 생성 성능테스트를 위해 DB에 더미데이터를 생성하는 작업을 진행하였다. 이 과정에서 java faker, mockaroo, filldb라는 세가지 방식을 비교하여 선택하였다. 📍 Java faker 장점 많은 양의 데이터를 빠르게 넣을 수 있다. 자바 기반의 프로젝트에서 사용하기 용이하다. 무료이다. 단점 다양한 데이터를 넣기 힘들다. GUI가 없어, 코드로 작성해야 한다. 📍 mockaroo 장점 다양한 데이터를 넣을 수 있다. GUI가 있어 쉽게 더미데이터를 생성할 수 있다. 한번에 최대 1000개의 데이터를 생성한다.(비회원일 경우) 단점 일정 횟수 이상부터는 유료이다. 한글로된 데이터를 ..
TIL-231106(성능테스트 도구 선택) 📝오늘 공부한 것 '행동대장' JMeter 테스트 커리어톤 참여 프로그래머스 문제풀기 📌 성능 테스트 도구 선택하기 다양한 부하테스트 도구들이 있었는데, 그중 JMeter, k6, nGrinder의 장단점을 비교해보며, 어떤 도구를 선택할지 결정하고자 한다. 📍 Apache JMeter - 부하 테스트 및 성능 측정을 위해서 개발된 100% 순수 자바 애플리케이션 - HTTP를 사용하여 사이트의 부하를 테스트 할 수 있으므로 정적이거나 동적인 자원(파일, 서블릿, 자바객체들, 데이터베이스 등)에 대해서 테스트하는데 사용 장점 무료로 사요이 가능하다. 아파치에서 개발한 오래된 툴로, 레퍼런스가 많다 다양한 프로토콜 지원한다. GUI, Email, DB, SSL 등 다양한 기능과 플러그인을 제공한다. 단점 ..
WIL-2023/11월 (1) 2023.10.30. ~ 2023.11.05. ✍🏻이번주 목표 및 달성 여부 1. 자바의 정석 스터디 ✅ 기술면접 스터디 ✅ 커리어톤 참여하기 ✅ 프로그래머스 문제풀기 ✅ 이력서 수정하기 💡알게 된 점 총정리(TIL회고) 이번주에는 JMeter를 이용한 성능테스트를 위해 공부를 하였다. 실전프로젝트의 테스트 코드를 작성했었는데, 성능테스트는 해보지 못했었다. 부트캠프에서 프로젝트들을 진행하면서 가장 해보고 싶었던 부분 중에 하나가 성능테스트였다. 프로젝트 기간이 너무 짧아서 그 기간에 하지 못했던 것이 아쉽지만, 배포가 되어 있는 서비스니만큼 로컬에서 성공을 하고 나면 서비스에 적용해봐야겠다는 생각이 들었다. 성능 개선이 끝나면, 웹소켓을 이용한 채팅 기능도 구현해보고 싶고, Redis로 회원정보도 저장..
TIL-231104(성능테스트 진행 목적) 📝오늘 공부한 것 성능 테스트 공부 프로그래머스 문제풀기 📌 성능 테스트의 목적 📍 성능 테스트 목적 부트캠프를 하는 동안 3번의 프로젝트를 진행하였다. 멘토님께 매번 피드백을 들었던 부분이 있었는데, 바로 성능테스트 였다. '좋아요 버튼을 여러명이 한번에 눌렀을 때 어떻게 되는지 확인해 봤나요?', '갑자기 많은 유저가 요청보냈을 때 어떤 에러가 나는지 확인해봤나요?' 등의 질문에 대한은 항상 '아니요..모르겠습니다.'였다. 기능 개발 과정에서는 테스트 코드를 작성하는 것뿐만 아니라 성능 테스트도 해야한다. 그래야 이를 통해 발생할 수 있는 문제점을 미리 파악하고, 배포를 했을 때 안정적인 서비스를 제공할 수 있기 때문이다. 성능 테스트를 통해서 실제 사용자가 몰렸을 때의 트래픽과 유사한 트래픽을 재현..
TIL-231103(성능테스트란 무엇인가) 📝오늘 공부한 것 성능 테스트 공부 커리어톤 참여하기 프로그래머스 문제풀기 이력서 수정하기 & 강의 듣기 📌 성능 테스트 📍 성능 테스트 특정 제품이 다양한 작업 부하에서 예상 프로세스를 잘 수행하는지 여부를 식별하기 위해 수행되는 프로세스 웹 성능테스트는 개발자가 이해 관계자에게 응용 프로그램 성능에 대한 신뢰할 수 있는 정보를 제공하고 다양한 수준의 트래픽에 응답하는 방식을 예측할 수 있도록 하는데 필수적이다. 성능 테스트는 또한 제품이 출시되기 전이나 출시된 후에 개선해야 할 사항을 보여주어 성능 저하, 불일치 및 사용성 저하를 방지한다. 예상대로 작동할 수 있도록 예상 사용자 수에 대해 테스트한다. 즉, 성능 테스트는 특정 이벤트에 대해 미리 동시 접속자 수에 대한 성능 테스트를 수행함으로써 서버..
TIL-231102(동기와 비동기) 📝오늘 공부한 것 동기와 비동기 공부 커리어톤 참여하기 프로그래머스 문제풀기 이력서 수정하기 & 강의 듣기 📌 동기와 비동기 📍 동기(Synchronous : 동시에 일어나는) 요청과 그 결과가 동시에 일어난다. 바로 요청을 하면 시간이 얼마나 걸리던지 요청한 자리에서 결과가 주어여야 한다. 동기식 처리 모델 (Synchronous processing model)은 직렬적으로 task를 수행한다. 즉, task는 순차적으로 실행되며 어떤 작업이 수행중이면 다음 작업은 대기하게 된다. 작업 요청을 했을 때 요청의 return값을 직접 받는 것이다. 호출한 함수가 작업 완료를 신경쓴다. 장점 : 순서에 맞춰 진행된다. 설계가 매우 간단하고 직관적이다. 따라서, 작업을 설계하거나 작업의 흐름에 대해서 파악하기..
TIL-231101(HTTP Status Code) 📝오늘 공부한 것 HTTP Status Code 공부 커리어톤 참여하기 프로그래머스 문제풀기 이력서 수정하기 📌 HTTP Status Code 📍 HTTP 상태코드 HTTP 응답 상태 코드는 특정 HTTP 요청이 성공적으로 완료되었는지 알려준다. 상태 코드는 3자리 숫자로 만들어져 있다. 첫번째 숫자는 1에서 5까지 제공되며, 첫번째 숫자는 HTTP ㅇㅇ답의 종류를 구분하는데 사용하며 나머지 2개의 숫자는 세부적인 응답 내용 구분을 위한 번호이다. 첫번째 자리가 4와 5인 경우는 정상적인 상황이 아니기 때문에 사이트 관리자가 즉시 알아야 하는 정보이다 1XX(정보) : 요청을 받았으며 프로세스를 계속 진행한다. 2XX(성공) : 요청을 성공적으로 받았으며 인식했고 수용하였다. 3XX(리다이렉션) : 요청..