안녕하세요 질문있습니다.!
19
投稿した質問数 7
강의 잘 듣고 있습니다 강사님!
큐를 읽는 컨슈머가 DB가 감당할 수 있는 속도 이거이대해서 질문이 있는데요?
1. 수치를 구하기 위해 K6를 활용하여 어떻게 측정해야할지 궁금합니다!!
回答 2
0
노트북의 H2나 로컬 MySQL로 잰 값은 참고용입니다. 실제 Mysql의 경우 저장되어 있는 레코드 수에 따라서도 편차가 있습니다.
k6로 테스트할 API를 높은 속도로 때리면서 Kafka consumer lag을 봅니다. lag이 계속 늘면 컨슈머가 못 따라가는 것이고, lag이 일정하게 유지되는 최대 발급 속도가 시스템 전체의 처리량입니다.
0
안녕하세요!! 답변 드립니다.
1. 재는 대상은 컨슈머가 아니라 "DB 쓰기 경로"입니다
k6는 HTTP를 두드리는 도구라 Kafka 컨슈머를 직접 재지 못합니다. 대신 컨슈머가 DB에 하는 일(주문 INSERT + 재고 UPDATE, 같은 트랜잭션)을 그대로 실행하는 테스트용 엔드포인트를 하나 만들고, 그걸 k6로 두드립니다. 그러면 "이 DB가 이 쓰기를 초당 몇 건까지 받아주는가"가 나오고, 그 숫자가 컨슈머 쓰로틀의 상한입니다.
2. VU 고정이 아니라 "초당 요청 수를 계단식으로 올리는" 실행기를 씁니다
constant-vus는 응답이 느려지면 요청 속도도 같이 느려져서 한계가 안 보입니다. ramping-arrival-rate로 50 → 100 → 200 → 400 → 800 req/s 계단을 올리면서 어느 계단에서 꺾이는지 봅니다.
import http from 'k6/http';
export const options = {
scenarios: {
find_knee: {
executor: 'ramping-arrival-rate',
startRate: 50, timeUnit: '1s',
preAllocatedVUs: 50, maxVUs: 500,
stages: [
{ target: 50, duration: '1m' },
{ target: 100, duration: '1m' },
{ target: 200, duration: '1m' },
{ target: 400, duration: '1m' },
{ target: 800, duration: '1m' },
],
},
},
thresholds: { http_req_duration: ['p(95)<200'], http_req_failed: ['rate<0.01'] },
};
export default function () {
http.post('http://localhost:8080/test/settle',
JSON.stringify({ orderId: `${__VU}-${__ITER}`, qty: 1 }),
{ headers: { 'Content-Type': 'application/json' } });
}
코드 깃허브는 없을까요?
1
13
2
핵사고날 아키텍처 기반으로 멀티 모듈 설계 시 질문드립니다..
0
10
1
최근 N개 데이터 표현 시 중복 질문
0
15
1
4. ArgoCD설치---Base64 디코딩 부분만 PowerShell 방식으로 바꾸어서 설치 필요
0
24
1
인넬리제이 무료버전
0
21
1
DataSourceUtils.releaseConnection 할때요 SQLException e 사용하는 이유등
0
30
1
강의 기다리고 있습니다!
0
31
0
@Modifying에 관하여
1
30
1
영상이 검은화면인 강의들이있어요. 맥북사용중입니다.
1
21
1
수업자료 오타
0
30
1
내부 객체 직접 접근에 관하여.
0
55
1
IVF vs HNSW
1
47
1
9월 8일 세션 진행한 거는 없었을까요
0
60
1
FlushModeType.COMMIT (12:45) 예시코드 질문
0
39
1
미션1 진행방법 관련
1
64
1
개인 git에 코드를 올려도 될지 문의드립니다.
0
51
2
Spock given and가 검증을 하는지
0
36
1
Issuance 테이블에 status, couponId 인덱스가 꼭 필요할까요?
2
60
1
readme에 대한 자료는 따로 받아볼수 있나요?
0
63
2
11강 따라하는중에 오류가 발생해서 문의드립니다.
0
55
1
InvalidCurriculumException DIP 적용 여부 문의
0
48
2
ProductController 에서 타협하지 않는다면 어떤 형태가 되나요?
1
49
2
Producer의 동기 전송 및 비동기 전송 관련 질문
0
47
1
부하 테스트 시 설정 관련 질문드립니다
1
83
2

