묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결대규모 트래픽 처리를 위한 부하테스트 입문/실전
개인 프로젝트 시 top 입력 시 해석 도움 요청
강사님 안녕하세요. 강사님 덕분에 배운대로 잘 사용하고 있습니다. 그중 제가 해석이 강사님과 다른 지점이 있어서 질문을 남깁니다. 강사님은 CPU코어가 2개여서 Max 200%까지 된다고 했는데 저는 1:1 비율로 사진과 똑같더라고요. 다른 점은 강사님은 EC2 설계 시 T3.small을 저는 t2를 선택했는데 그것에 따라 다른 것일까요? 아님 저는 node인데 강사님은 java여서 그에 대한 차이일까요?
-
미해결대규모 트래픽 처리를 위한 부하테스트 입문/실전
sudo nohup java -jar jscode-0.0.1-SNAPSHOT.jar & 설치 오류?
사진과 같이 강사님과 똑같이 그리고 제공해준 실습 자료를 복사 붙여넣기하면서 따라하고 있는데 저기 sudo nohup java -jar jscode-0.0.1-SNAPSHOT.jar &설치에서 강사님은 엔터를치면 ip를 확인할 수 있는 코드를 치면 나오는데 저는 exit 1 등이 뜨면서 설치가 안됩니다. 제가 잘못한 것이 있나요?node 유저라서 자바는 잘 모릅니다.
-
미해결대규모 트래픽 처리를 위한 부하테스트 입문/실전
목표 throughput, latency는 어떤 기준으로 정하나요?
혹시 보편적으로 공유되고 있는 기준치가 별도로 존재할까요? 아니면 매번 회사, 서비스마다 달라지기 때문에 자체적으로 고민을 해야 하는 건가요 ? ㅠ ㅠ
-
미해결대규모 트래픽 처리를 위한 부하테스트 입문/실전
aws t3a.small 비용
실습에 사용하는 t3a.small 인스턴스는 프리티어 지원이 안되는 것으로 알고 있는데 맞나요?맞다면 실습으로 인한 비용은 어느 정도로 예상해볼 수 있을까요
-
미해결대규모 트래픽 처리를 위한 부하테스트 입문/실전
백엔드 API 설정을 https로 하고 싶은 경우
현재 서비스에서 백과 프론트의 소통이 https://도메인으로 이뤄지고 있는데, 이 경우에는 ALB와 타겟그룹 설정 시 80포트 말고 443 포트를 열도록 하면 되나요?
-
미해결대규모 트래픽 처리를 위한 부하테스트 입문/실전
다양한 API가 있는 경우 효율적으로 테스트하는 방법이 있을까요?
안녕하세요 강사님! 강의를 완강한 한 학생입니다!제가 이번에 스프링부트로 개발한 서비스를 하나 배포할 예정이고 얼마 만큼의 부하를 견딜 수 있을지 궁금하여 부하테스트를 공부하고자 강의를 수강하였습니다. 근데 막상 부하테스트를 해볼려고 제가 만든 서비스에 API들이 약 30개 가까이 되는데 이 많은 API들을 어떻게 테스트 할지가 고민입니다.(학업 관련 서비스입니다. 그래서 Oauth 로그인, 시간표 CRUD, 친구 관리, 과제 CRUD 같은 API가 있습니다)하나 하나 다 테스트를 해야하는지 아니면 시나리오를 구성하여 테스트를 해야하는지 그리고 시나리오를 구성한다면 어떻게 구성해야할지 막막합니다. 어떤식으로 하면 좋을지 조언을 받고 싶습니다ㅠㅠㅠ
-
미해결대규모 트래픽 처리를 위한 부하테스트 입문/실전
혹시 DB를 RDS로 빼지 않고 EC2안에 설치하게 되면 메트릭을 어떻게 측정할까요?
안녕하세요. 좋은 강의 잘 듣고 있습니다.예제에서 처럼이 아니라 EC2안에 DB 서버를 설치하게 된다면, 또 Spring 서버 뿐만이 아니라 필요에 따라 그 옆에 express 서버도 한 EC2 안에서 같이 돌릴 일도 있을 거라 생각하는데, 그런 경우에는 각각의 메트릭을 어떤 식으로 측정이 가능할지 질문 드립니다.
-
미해결대규모 트래픽 처리를 위한 부하테스트 입문/실전
node, nest 사용자도 쉽게 이해가 가능할까요?
제목 그대로 node, nest 사용자인데 강의 목록에서 보면 java로 하시더라고요. 근데 제가 초보자여서 강의에서 하시는 것을 보고 node, nest에서도 쉽게 활용이 가능할지 궁금합니다. 난이도가 어느정도로 생각하면 될까요? 지식은 java는 아에 없고 node, nest는 기초적인 지식 정도만 있습니다.
-
미해결백엔드 애플리케이션 성능 개선하기 - 기초편
질문있습니다!!
스노우 플레이크를 통해 id값을 만들어 내는 이유가 인덱싱(타임 스탬프 순으로의 정렬)과 절대 중복될 수 없는 key 값을 만들어내서, 기존 생성API의 메커니즘인 Select(중복 여부 조건 검사) -> Insert의 방식에서 스노우 플레이크로 인해 중복이 될 수 없으니 Select 쿼리에 대한 비용을 줄이는 것으로 성능을 개선하는 방식이다. 그리고 여기에 추가로 비동기로 URL 생성을 진행했하고 클라이언트는 응답을 미리 받고, 실질적으로 Insert 쿼리를 날려 DB에 저장하는 부분은 백그라운드로 진행함으로써 Latency를 앞당기는 것으로 성능을 개선했다고 이해하면 될까요??
-
해결됨대규모 트래픽 처리를 위한 부하테스트 입문/실전
수평적 확장을 통해 병목 지점 해소를 한 이유가 궁금합니다.
안녕하세요.최근 성능 최적화와 관련되어 병목 지점을 명확히 하고싶어 해당 강의를 수강중인 한 학생입니다. 강의 내용 중, ec2 의 cpu의 사용량이 100% 찍어, 수평적 확장을 통해 병목 지점을 해소하려고 한 내용을 확인하였습니다. 현재 개발되어있는 spring boot 프로젝트에서 tomcat 서버의 pool 사이즈에 대한 설정과 hikari pool 에 대한 사이즈 설정이 default 로 들어가 있어서 문제가 발생할 수도 있을 것 같다라는 생각이 듭니다. (default 가 min : 10 으로 설정되어있어, 이를 처리하기 하기 위한 thread 생성을 하다 보니, 더 늘어났다고 생각) 물론, 해당 spring boot 의 서버의 자원을 모니터링 하기 위한 툴이 적용되어 있지 않아 판단이 어려운 부분이 있긴 할 것 같습니다. 만약, 스카우터 등을 사용해 모니터링 한 결과, cpu 사용량이 100퍼센트까지 치솟는 지점이, 신규 thread 가 막 늘어나고, 요청들이 waiting 되는걸 확인한다면, pool 사이즈 부터 건들여 보는게 맞을까요?
-
미해결대규모 트래픽 처리를 위한 부하테스트 입문/실전
request failed 관련하여 질문 드립니다.
안녕하세요 재성님 강의 잘 듣고 있습니다. 다름이 아니라 수업 내용을 저의 서비스에 적용하다가 질문이 있어서 이렇게 글 남겨요.vuser 200으로 5분동안 게시판 글 조회 api를 요청했습니다.ec2, rds의 cpu memory사용은 아래와 같이 안정적인데..k6 대시보드에서는 vuser 100을 기점으로 httprequest를 보내지도 못하며, k6로그에는 request timeout 로그들이 많이 나옵니다.참고로 현재 k6는 로컬(노트북)에서 도커로, 서버는 ec2내에서 도커로 실행되고 있습니다.
-
해결됨비전공자도 이해할 수 있는 Redis 입문/실전 (조회 성능 최적화편)
Redis vs Memcached
안녕하세요. 강의 잘 듣고 있습니다!현재 개인 프로젝트에 Redis를 적용해보려고 합니다.구현하려는 기능은 주식 가격 요청 API로, 동일한 주식 종목을 여러 번 호출했을 때 캐시에서 값을 가져오는 로직입니다.Redis 외에도 Memcached라는 인메모리 캐시 서버가 있는데, 이 두 가지 서버 중 어떤 기준으로 선택하는 것이 좋을지 고민입니다.기술을 선택할 때, 근거를 명확히 하는 연습을 하는 것이 중요한가요?예를 들어, Redis는 리스트, 셋, 해시, 정렬된 셋 등 다양한 데이터 구조를 지원하고, 영속성 기능도 제공하는데, 이런 이유로 Redis를 선택해야 한다고 말할 수 있을까요?제가 구현하는 기능은 단순 조회 기능이라 Memcached도 적합할 수 있을 것 같지만, 이를 다른 사람들에게 설득할 근거와 이유는 어떻게 제시하는 것이 좋을까요?
-
미해결비전공자도 이해할 수 있는 Redis 입문/실전 (조회 성능 최적화편)
redis 를 compose 로 묶어준 이유가 궁금합니다.
강의 내용 중, redis 를 docker-compose 로 묶어 한번에 띄우도록 설정한 모습을 확인할 수 있었습니다. 이렇게 되면 서버 코드의 변경점이 생겨 수동 재배포를 진행하게 될 때, docker-compose 파일로 실행하게 될 것 같습니다. redis 도 일종의 db라고 생각이 되는데, 서버의 코드가 업데이트 되면 redis 를 다시 docker로 띄운다는 가정이 생기는 것 같은데, 맞는 접근법인지 궁금합니다.초기 ec2 설정 단계에서 단순히 redis 를 설치해서 사용하면 되지 않나 라고 생각이 됩니다. 만약 캐시 전략의 변경이나, 캐시 데이터의 정합성? 문제가 우려된다면 key를 모두 날려주는 cli 를 실행시키는 방법이 더 유욜할 것 같은데, 강의 편의와 docker-compose 의 유용성을 설명하기 위한 강의 챕터인가요?
-
미해결대규모 트래픽 처리를 위한 부하테스트 입문/실전
RDS 실시간 모니터링 질문
[보충 강의] 실시간으로 CPU와 메모리를 관측하는 방법강의에서 설정값을 바꾸게 되면 그동안에 서비스가 안되지 않을까요? 실무에서는 변경이 불가능할거 같기도합니다. 이런경우는 어떻게 하면 좋을까요?강의 너무 잘보고 있습니다. 상당히 원했던 강의인데 너무 깔끔하고 좋습니다! 😀
-
미해결대규모 트래픽 처리를 위한 부하테스트 입문/실전
안녕하세요 ㅠㅠ 과금되는게 있어서 질문드립니다.
강사님과 똑같이 RDS를 세팅했는데 왜 이런 걸까요...현재 저는 팀 프로젝트 때문에 서버를 구성하는 작업을 맡았는데 RDS 쪽에서 과금이 발생했습니다...ㅠㅠ 구글링 통해서 확인해본 결과 뭐.... 퍼블릭 액세스 옵션을 금지해야한다. 라고 그것 때문인걸까요?? 현재 자동 백업이라던가 스토리지 이런 구성 AWS RDS 문서 읽으면서 무료로 사용할 수 있는 기준은 맞췄다고 생각했는데 제가 놓친 부분이 있을까요??밑에는 제 DB 인스턴스의 설정 부분입니다.
-
미해결대규모 트래픽 처리를 위한 부하테스트 입문/실전
스프링서버 2개일 때 병목지점 판단하는 법(CPU 사용률?), 권장 TPS 수치
안녕하세요. 강의 정말 잘 수강하였습니다. 지난번 로드밸런서 관련 질문도 강의를 들으면서 자연히 해결이 되었는데요, 현재 완강 상태에서 풀리지 않는 의문점과 개인적으로 궁금한 점이 하나 있어 질문 2가지 드립니다. 로드밸런서를 활용해 스프링 서버를 2개를 띄우고 부하테스트를 진행하여 AWS CloudWatch에서 사용률을 확인하는 것까지는 이해를 하였습니다. 그러나 병목지점을 CPU 사용률이라고 판단을 하셨는데, CPI 사용량이 한 스프링 서버는 100%여서 더 이상 가용할 자원이 없는 것은 이해를 하였으나 나머지 한 서버는 77%로 아직 가용 CPU 리소스가 남아있는 것으로 보여 전체 CPU시스템으로 보았을 때 아직 사용할 수 있는 CPU자원이 남은 것이 아닌지 궁금합니다. 한 학기 동안 구성한 프로젝트를 출시를 앞두고 있는데, 일반적으로 tps가 몇 정도는 돼야 안정적인 운영이 가능한지 여쭙니다. 좋은 강의 제공해주시어 감사합니다.
-
미해결대규모 트래픽 처리를 위한 부하테스트 입문/실전
로드밸런서를 넣은 이유가 있을까요?
지금 제가 하고 있는 프로젝트에서는 로드밸런서 없이 그냥 ec2에 서버만 띄웠는데일반적으로 로드밸런서가 필수적인가요?
-
미해결대규모 트래픽 처리를 위한 부하테스트 입문/실전
tps에 관하여 질문있습니다.
안녕하세요!tps에 관하여 질문있습니다.개별 api 부하테스트를 진행하고 예를들어 결제 api가 900tps가 나왔는데 전체 시나리오 테스트를 해보니 2300tps가 나왔습니다.이해한바로는 api 에서 아무리 빠른 tps가 나오는것이 있더라도 낮은 tps가 있으면 그거 때문에 병목현상이 일어나는 걸로 알고 있어서 900tps가 나올것이라고 예상했습니다.이럴 경우에는 이 서비스의 tps는 900인가요 2300tps인가요??
-
해결됨대규모 트래픽 처리를 위한 부하테스트 입문/실전
수직적 확장과 가용성의 관계에 대해 질문 드립니다
안녕하세요 강사님. 강의 잘 듣고 있습니다!강의를 듣다 한가지 의문점이 생겼습니다.가용성과 수평적 확장, 수직적 확장에 대해 설명해주실 때 수평적 확장은 가용성이 높아지고 수직적 확장은 가용성이 낮아진다고 하신 부분입니다.가용성아라는 것이 시스템이 서비스를 정상적으로 제공할 수 있는 가능성을 퍼센티지로 나타낸 것이고, 서비스에 장애가 발생할 가능성이 작을수록 가용성이 높다고 할 수 있기 때문에, 수직적 확장으로 시스템의 스펙을 높이면 기존보다 더 많은 트래픽을 감당할 수 있어서 가용성이 높아진다고 할 수도 있는 것 아닌가 싶어서 질문 남깁니다.
-
미해결대규모 트래픽 처리를 위한 부하테스트 입문/실전
실제 서비스를 할때 rds에 접근하는 방법
실제 서비스를 할때 ec2 인스턴스랑 rds 이 두개를 보안성을 높이기위해 프라이빗ip 로 설정을하는데 이러면 제 개인컴퓨터에 rds의 db를 시각화해서 볼수있는 dbeaver나 워크벤치를 연결자체가 불가능해서 인터넷에 찾아보니 베스천호스트 방식으로 ec2인스턴스를 새로하나 더만들어서 이것을 퍼블릭ip로 바꿔서 rds에 접근하는 방식이 있던데 이방식이 일반적으로 실무에서도 자주쓰이는 방식일까요? 제가 실제 서비스를 해본 적이없어서 공부하는입장에서 궁금했습니다. 그리고 실제 서비스에서 다른방법이 있다면 좀 알려주시면 감사하겠습니다.