728x90
오늘은 GRPC load test(부하테스트) 도구를 소개해 드리려고 해요.
공식 홈페이지
사용 예시
Unary Call만을 테스트해보았기 때문에 해당 예제만 알려드리도록 하겠습니다.. 나머지는 공홈을 참조해주세요.
n: 테스트 회수
c: 동시 요청자 수
proto: 테스트 대상 proto 파일 (해당 파일의 위치를 절대경로, 상대경로로도 작성 가능)
call: 테스트 대상 proto파일 내 메소드를 의미하며, package.service명.method명
으로 적어주세요
d: data를 의미하며, 메소드가 수신하고자 하는 param의 유형에 따라 적절히 변경 필요하다. 주의할점은 ''(따옴표 내에 작성해야한다.)
마지막줄은 테스트 대상 서버의 주소:port
에요.
ghz --insecure -n 100 -c 5 \
--proto ./business_user.proto \
--call com.daangn.business.auth.v1.BusinessUserService.GetById \
-d '62'
localhost:3333
단건, int64를 param으로 수신하는 메소드에 대한 테스트. (대상 메소드는 첨부한 이미지의 인터페이스를 가진다)
ghz --insecure -n 100 -c 5 \
--proto ./business_user.proto \
--call com.daangn.business.auth.v1.BusinessUserService.ListByIds \
-d '{ "ids": [98517,1000027,1000030,1000037,1000043,1000063,1000070,1000073,1000087,1000088,1000092,1000095,1000096]}'
localhost:3333
List int64를 가진 객체를 param으로 수신하는 메소드에 대한 테스트. (대상 메소드는 첨부한 이미지의 인터페이스를 가진다)
Web
https://ghz.sh/docs/web/intro
ghz 결과를 웹화면에서 볼 수 있는 도구도 제공하는것 같습니다. (사용해보지는 않았어요 ㅎ..)
'Application Knowhow' 카테고리의 다른 글
ApplicationKnowhow/Server - 성능 개선기 3 (Jvm Heap 설정) (0) | 2021.11.09 |
---|