강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của donghyeon95179723
donghyeon95179723

câu hỏi đã được viết

Nhập môn và Thực hành Kiểm thử tải (Load Testing) để xử lý lưu lượng truy cập lớn

성능테스트하기 애매한 API의 경우 진행 방법이 궁금합니다.

Viết

·

187

·

Đã chỉnh sửa

0

안녕하세요, 좋은 강의제공 감사드립니다!

강의 듣다가 실무적용할때 궁금한점이 있어서 질문남겨봅니다.

 

결제와 같이 성능테스트 대상으로 삼기 애매한 API에 대한 테스트 방법이 궁금합니다.

api 호출 시 결제가 이루어진다거나 타 제휴사 api 를 친다거나 하는 경우 성능테스트를 진행해버리면 문제가 생기지 않을까 싶은데요, 이런경우에는 보통 어떻게 성능테스트를 진행하고 병목구간을 찾아야 할까요?

 

감사합니다:D

infrastructurek6performance-testperformance-tuning

Câu trả lời 2

0

jscode님의 프로필 이미지
jscode
Người chia sẻ kiến thức

안녕하세요 Chung A님! 좋은 케이스에 대한 질문을 잘 해주셨네요:)

실제 서비스를 운영하시다보면

외부의 시스템(ex. PG사 결제, 유튜브 API 등)이 같이 결합되어 있는 경우가 많습니다.

이 때는, 외부 시스템 자체에 임의적인 많은 부하를 보내게 되면

문제가 되는 경우가 많습니다.

따라서 이 때는 Mocking을 많이 활용합니다.

(배민에서도 Mocking을 활용해 결제 테스트를 진행했네요 -> https://techblog.woowahan.com/2572/)

 

외부 시스템을 Mocking 처리해서 부하테스트를 진행한다는 건

외부 시스템을 제외한 나머지 직접 구축한 시스템에 대해서만 병목 구간을 확인할 수 있습니다.

즉, 외부 시스템에 병목이 생기는 지 안 생기는 지는 확인할 수 없다는 뜻이기도 합니다.

'외부 시스템은 병목이 안 생기겠지'라고 가정하고 테스트를 하는 것이기도 합니다.

이와 같이 개발에서는 어쩔 수 없는 Trade-off(기회 비용) 상황이 많이 발생합니다.

 

하지만 실제 환경에서는 '외부 시스템에 병목이 생기면 어떡하지'를 걱정할 수도 있고,

'외부 시스템은 어느 정도의 부하를 견딜 수 있지?'가 궁금할 수도 있습니다.

이럴 때는 외부 시스템(ex. PG사)을 담당하는 곳에 연락을 해서

해당 외부 시스템의 최대 TPS가 얼마인지 물어보면 됩니다!

 

위 설명 중에 또 궁금한 점이 있으시다면 댓글 남겨주세요~~

0

안녕하세요, 인프런 AI 인턴입니다. Chung A님. 질문 주셔서 감사합니다.

API 성격상 직접적인 성능 테스트가 어려운 경우, 특히 결제 시스템이나 타사 API를 호출하는 경우에는 몇 가지 대안적인 방법을 고려하실 수 있습니다.

  1. Mocking: 실제 결제 API가 호출되지 않도록 하기 위해, 테스트 환경에서 API 응답을 모의 처리(mock)하는 방법이 있습니다. 이를 통해 실제 결제나 외주 API 호출 없이도 테스트를 진행할 수 있습니다. 모의된 응답은 예상되는 가능한 다양한 시나리오를 반영하여 설정할 수 있습니다.

  2. Staging 환경: 실제 프로덕션 환경과 격리된 별도의 Staging 환경에서 성능 테스트를 진행하는 방법입니다. 이는 실제 서비스에 영향을 주지 않고 성능 평가를 할 수 있게 해줍니다. 이때 Staging 환경의 데이터베이스와 API를 실제와 유사하게 설정하는 것이 중요합니다.

  3. 계정 리밋 설정 및 모니터링: 특정 API에 한정된 요청 횟수나 시간 구간을 설정하여, 대량의 트래픽이 발생했을 때 시스템이 어떻게 반응하는지 모니터링할 수 있습니다. 이는 과도한 부하로 인한 서버 문제를 방지하는 데 도움이 됩니다.

  4. 비동기 처리의 유연성: 결제나 외부 API 호출 시, 비동기적으로 처리하는 방식을 사용하여 병목 현상을 줄일 수 있습니다. 이를 통해 테스트 시 성능 분석을 보다 정확하게 할 수 있습니다.

관련된 포럼과 논의에서 자세한 내용을 확인하실 수 있습니다:
- 성능 테스트에서 Mocking 기술 활용하기
- Staging 환경 구축 및 활용 방법

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Hình ảnh hồ sơ của donghyeon95179723
donghyeon95179723

câu hỏi đã được viết

Đặt câu hỏi