김코딩

동기식 결제 승인 API의 응답속도 테스트 및 분석 본문

TIL

동기식 결제 승인 API의 응답속도 테스트 및 분석

김코딩딩 2025. 8. 6. 14:39

테스트 대상 API

 

  • 경로 및 메서드: POST /payments/confirm
  • 설명:
    • 프론트엔드에서 토스 결제가 완료된 후, 결제 승인과 동시에 사용자 포인트를 충전하는 API
    • 내부적으로 paymentFacade.confirmAndChargePoint를 호출해 결제 승인 및 포인트 충전 처리

 

/**
     * 토스페이 결제 승인 및 포인트 충전 API
     * @param request 토스페이먼츠에서 제공한 결제 정보 (paymentKey, orderId, amount)
     * @param auth 인증된 사용자 정보
     * @return 결제 승인 결과 (orderId, amount, method, status, approvedAt)
     */
    @PostMapping("/payments/confirm")
    public ResponseEntity<ApiResponse<PaymentConfirmResponse>> confirmAndChargePoint(
        @Valid @RequestBody PaymentConfirmRequest request,
        @AuthenticationPrincipal Auth auth) {

        PaymentConfirmResult paymentConfirmResult = paymentFacade.confirmAndChargePoint(
            auth.getId(),
            PaymentPresentationMapper.toPaymentConfirmCommand(request)
        );

        return ApiResponse.success(
            HttpStatus.OK,
            "결제가 완료되었습니다. 포인트는 1~2분 이내로 충전될 예정입니다.",
            PaymentPresentationMapper.toPaymentConfirmResponse(paymentConfirmResult));
    }

테스트 방법

  • 토스 결제는 테스트 코드 또는 부하 테스트가 불가능하여 실제 토스 결제를 통한 수동 테스트 수행
  • 총 30회 결제 승인 및 포인트 충전 API 호출 후 응답시간 측정

 


결과 분석

전체 30개 샘플 응답시간 표

순번 응답시간 순번 응답시간 순번 응답시간
1 644ms 11 774ms 21 709ms
2 709ms 12 767ms 22 752ms
3 764ms 13 727ms 23 712ms
4 804ms 14 733ms 24 759ms
5 857ms 15 633ms 25 633ms
6 654ms 16 867ms 26 601ms
7 590ms 17 756ms 27 731ms
8 725ms 18 757ms 28 784ms
9 754ms 19 1008ms 29 804ms
10 780ms 20 771ms 30 733ms

기본 통계 요약

항목 비고
총 샘플 수 30개  
평균 응답시간 738.3ms  
최소 응답시간 590ms 최고 성능
최대 응답시간 1,008ms 유일한 1초 초과 사례
표준편차 약 90ms 비교적 안정적

 

응답시간 구간별 분포 요약

구간 (ms) 건수 비율
590–650 4개 13.3%
651–700 4개 13.3%
701–750 8개 26.7%
751–800 12개 40.0%
801–850 2개 6.7%
851–1008 4개 13.3%